Detailseite
Projekt Druckansicht

Selbstreparierende Programme ("Autofix")

Fachliche Zuordnung Softwaretechnik und Programmiersprachen
Förderung Förderung von 2008 bis 2011
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 91732276
 
Erstellungsjahr 2017

Zusammenfassung der Projektergebnisse

Hat ein Programm einen Fehler, muss es repariert werden - eine Arbeit, die Entwickler viel Zeit und Aufwand kosten kann. Ist es auch möglich, ein Programm zu reparieren, und zwar so, dass es anschließend korrekt arbeitet? Im Projekt „Selbstreparierende Programme" sind Dr. Andreas Zeller (Universität des Saarlandes) und Dr. Bertrand Meyer (ETH Zürich) dieser Frage nachgegangen, gefördert durch die DFG und die Schweizer Hasler-Stiftung. Ihr Ansatz zur automatischen Programmkorrektur basiert auf der Idee, dass Programme im Normalfall stets dieselben Abläufe zeigen und dieselben Eigenschaften erfüllen - Abläufe und Eigenschaften, die im optimalen Fall vom Programmierer als sogenannte Spezifikation vorgegeben sind. Mit Hilfe dieser Spezifikation lassen sich mögliche Reparatur-Kandidaten leicht bewerten: Nur solche Reparaturen sind zulässig, die auch die Spezifikation erfüllen. Durch diesen Ansatz konnten in Fallstudien fast die Hälfte der Programmfehler vollautomatisch korrekt repariert werden; Anwendungsgebiet war die Programmiersprache Eiffel, in der Funktionen mit Spezifikationen des korrekten Verhaltens versehen sind. Ein weiteres Projektziel war die Anwendung in Fällen, wo keine Spezifikation, sondern nur eine Menge von Software-Tests vorlag - was das Gros der herkömmlichen Programmierung ausmacht. Hier konnte das Projekt das hochgesteckte Ziel der korrekten automatischen Reparatur leider nicht erfüllen, dafür aber wichtige Grundlagen für vollautomatische Testerzeugung und Erlernen von Spezifikationen legen. Die Arbeiten haben das Gebiet der automatischen Fehlerreparatur nachhaltig beeinflusst und zählen heute zu den meistzitierten Veröffentlichungen im Gebiet.

Projektbezogene Publikationen (Auswahl)

 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung