- Events
- Vortrag Entwicklertag Frankfurt 2019: MuDetect: ...
Since this post accompanies a talk in German, it is written in German, too.
Koordinaten
- Sprecher: Sven Amann
- Konferenz: Entwicklertag Frankfurt
- Datum: Donnerstag, 21. Februar 2019, 14:15 - 15:00 Uhr
- Ort: Goethe-Universität - Campus Westend, Casino Gebäude, Seminarraum 1.812
Zusammenfassung
In der heutigen Softwareentwicklung ist der Einsatz externer Bibliotheken kaum mehr wegzudenken. Leider sind die Schnittstellen (APIs) dieser Bibliotheken nicht immer intuitiv und ausreichend dokumentiert. Daher kommt es immer wieder zu Fehlern, weil Entwickler eine API anders verwendet haben als es der API-Entwickler vorgesehen hat. Solche Fehler werden auch »API Misuses« genannt. Ein klassisches Beispiel für einen API Misuse ist, wenn ein weiteres Element aus einem Iterator
abgerufen wird ohne vorher zu überprüfen, dass ein weiteres Element existiert. Eine Studie hat gezeigt, dass API Misuses sowohl während der Entwicklung als auch in Releases immer wieder Probleme bereiten und in 7 von 10 Fällen Programmabstürze verursachen.
Leider ist es nicht generell möglich API Misuse durch das Design von APIs auszuschließen, denn statische Typsysteme, wie das von Java, sind nicht mächtig genug um API Misuse allgemein zu verhindern. Und auch statische Checker, wie FindBugs, finden nur wenige API Misuses, da oft keine entsprechenden Checks vorhanden sind. Wir brauchen also andere Ansätze um dem Problem zu begegnen.
In den letzten fünf Jahren habe ich an der TU Darmstadt automatisierte Verfahren zur Identifikation von API Misuse (API-Misuse Detektoren) erforscht und entwickelt. Solche Detektoren versuchen die korrekte Verwendung von APIs mithilfe maschineller Lernverfahren selbstständig zu erlernen und anschließend API Misuses zu erkennen. Mit ihrer Hilfe konnte ich erfolgreich API Misuses selbst in gut gepflegten Projekten wie dem Google Closure Compiler und TestNG finden.
In meinem Vortrag möchte ich über meine Erfahrungen, die Stärken und die Grenzen von API-Misuse Detektoren berichten. Ich werde diskutieren inwiefern maschinelles Lernen Entwickler sinnvoll bei der Qualitätssicherung unterstützen kann und ob Entwickler in Zukunft von solchen Ansätzen ersetzt werden können.
Folien
Weiterführende Links
- Studie von Problemen durch API-Misuse in der Praxis
- Studie von API-Misuse-Detektoren im Praxiseinsatz
- A Systematic Approach to Benchmark and Improve Automated Static Detection of Java-API Misuse (Doktorarbeit)
- MUBench: Automatisierter Benchmark für API-Misuse-Detektoren
- MUDetect: API-Misuse-Detektor
Request recording
Get access now
Vortrag Entwicklertag Frankfurt 2019: MuDetect: Nie mehr eine API falsch verwenden?
Informationen zum Event
Be notified about our next events
Subscribe to our newsletter and you'll be the first to know when a new event has been scheduled.
Invited Talks
We are happy to come visit you in your office for an internal conference or a workshop. Our list of topics includes quality analyses, quality control, but also test control or introducing peer reviews. You are also welcome to pick a topic of your choice