Eko - Intelligente Entwicklungswerkzeuge zur korrekten Wiederverwendung bestehender Softwarekomponenten

01.06.2015 -

TU Darmstadt & Deutsche Post DHL Group

Name des Teilnehmers: Sven Amann

Beschreibung des IT-Forschungsprojekts: Wiederverwendung bestehender Softwarekomponenten gehört zum Fundament moderner Softwareentwicklung. Daher müssen Softwareentwickler mit diesen Komponenten und den Best-Practices in deren Verwendung vertraut sein. Eine enorme Herausforderung, bedenkt man die Vielzahl von Frameworks, Bibliotheken und Technologien, die in den letzten Jahren entstanden sind. Die deshalb erforderlichen Weiterbildungen um Mitarbeiter effektiv in Entwicklungsteams einsetzen zu können, sind für viele Firmen sehr kostspielig.

Im Software Campus Projekt "KaVE" haben mein Kollege Sebastian Proksch und ich Assistenzwerkzeuge für Entwickler entwickelt, beim Schreiben von neuen Codes, unter Verwendung bestehender Softwarekomponenten, unterstützen. Diese Werkzeuge, oft als "Recommender Systems for Software Engineering" (RSSE) bezeichnet, helfen Entwicklern Softwarekomponenten kennenzulernen und korrekt einzusetzen. Die Basis hierfür bilden Ansätze des maschinellen Lernens, die wir einsetzen um Verwendungsmuster aus bestehenden Quellcodes automatisch zu erlernen. Damit wird das Wissen vieler Entwickler gebündelt und jedem Einzelnen unmittelbar zur Verfügung gestellt.

Heutzutage besteht Softwareentwicklung jedoch nicht nur aus der Entwicklung neuer Produkte, sondern auch in der Pflege bestehender Lösungen. Oft hängen solche Legacy-Systeme von alten Versionen anderer Softwarekomponenten ab, da deren Verwendungsmuster sich über die Zeit weiterentwickelt haben und nach einer Aktualisierung potentiell Fehler auftreten, da der Quelltext weiterhin die alten Verwendungsmuster beinhaltet.

In meinem Software Campus Projekt "Eko" entwickele ich deshalb ein Assistenzwerkzeug, das Entwickler beim Auffinden und Korrigieren fehlerhafter oder suboptimaler Verwendungsmuster von Softwarekomponenten unterstützt. Mit leichten Änderungen, können die Ansätze des maschinellen Lernens aus dem "KaVE-Projekt" eingesetzt werden um solche Muster zu identifizieren und Vorschläge zu machen, wie diese verbessert werden können.

Mit meinem Projektpartner Deutsche Post DHL Group erprobe ich mein Assistenzwerkzeug in einem industriellen Umfeld um herauszufinden, wie gut es Entwickler bei der alltäglichen Arbeit unterstützt. Solche Feldstudien sind im Allgemeinen sehr kostspielig, haben aber einen enormen Wert für die Forschung. Gleichzeitig hilft das Projekt die Arbeitsumgebung von DHL-Entwicklern zu verbessern und ermöglich ihnen so, qualitativ hochwertige Software noch schneller zu entwickelt und zu warten.

Weitere Informationen zum Projekt finden Sie hier.

Software Campus-Partner: TU DarmstadtDeutsche Post DHL Group

Umsetzungszeitraum: 01.06.2015 - 31.05.2017