FWF - AMADEUS - Die Nutzbarmachung von automatischen Debugging-Ansätzen

Projekt: Foschungsprojekt

Projektdetails

Beschreibung

Mithilfe automatischer Tests können Softwareentwickler eine beträchtliche Anzahl von Fehlern erkennen, bevor eine Software veröffentlicht wird. Der Schritt nach dem Erkennen eines Fehlers, das Debuggen, wird in den meisten Softwarefirmen jedoch immer noch manuell durchgeführt. Dies erfordert viele Arbeitsstunden teurer Entwickler. Während es zahlreiche akademische Ansätze gibt, um den Debugging-Prozess zu vereinfachen, werden diese Ansätze in der Praxis selten verwendet. Das automatische Debuggen kann daher Zeit und Kosten reduzieren.
Dieses Projekt zielt darauf ab, die Lücke zwischen akademischer Forschung und Debugging in der Praxis zu schließen. Wir werden unsere Forschung auf die Verbesserung bestehender akademischer Debugging-Techniken konzentrieren (insbesondere Slicing, modellbasiertes Software-Debugging und spektrumbasierte Fehlerlokalisierung), um sie für den praktischen Einsatz vorzubereiten. Dabei werden wir uns mit der Skalierbarkeit, Genauigkeit und Praktikabilität der Ansätze befassen. Das Projekt gliedert sich in drei Phasen: die Bewertungsphase, die Verbesserungsphase und die Integrationsphase.
In der Bewertungsphase untersuchen wir die Gründe für die mangelnde Akzeptanz von akademischen Debugging-Ansätzen in der Praxis. In dieser Phase werden Beobachtungen von Softwareentwicklern beim Debuggen eines Programms und bei Folgeinterviews durchgeführt. Diese Beobachtungsstudie wird verwendet, um Hypothesen über den aktuellen Stand des Debuggens in der Praxis zu entwickeln. Die erhaltenen Hypothesen werden mit den Daten getestet, die wir im Rahmen einer groß angelegten Online-Umfrage sammeln werden. Wir werden desweiteren die Schwächen der einzelnen Debugging-Ansätze identifizieren und mögliche Verbesserungen durch Laborexperimente identifizieren. Diese Experimente umfassen sowohl Bewertungen von Ansätzen mit vorhandenen Benchmarks als auch Benutzerstudien, bei denen die Teilnehmer die verschiedenen Debugging-Ansätze verwenden müssen, um Fehler in bestimmten Programmen zu finden.
In der nächsten Phase werden wir die Erkenntnisse aus der Bewertungsphase nutzen, um die einzelnen Debugging-Ansätze zu verbessern. In dieser Projektphase gibt es zwei besonders interessante Forschungsfragen: (1) Kann die Kombination von Debugging-Ansätzen dazu beitragen, die gesamte Debugging-Erfahrung zu verbessern? (2) Ist es möglich, automatisch die am besten geeignete Debugging-Methode für ein bestimmtes Programm und eine bestimmte Testsuite auszuwählen?
In der dritten Phase konzentrieren wir uns auf die praktische Integration der Ansätze in Entwicklungsumgebungen und -prozesse. Wesentliche Teile dieser Phase sind (1) die Integration der akademischen Debugging-Ansätze in IDEs (z. B. Eclipse), (2) die gemeinsame Entwicklung von Tests für ein bestimmtes Debugging-Programm und (3) die Implementierung zusätzlicher Debugging-Unterstützung (z. B. Eclipse) Ursache-Wirkungs-Ketten). Wir planen, umfangreiche Laborexperimente durchzuführen, um die Nützlichkeit der entwickelten Debugging-Tools zu bewerten.
StatusLaufend
Tatsächlicher Beginn/ -es Ende1/01/2030/04/23