Zusammenfassung:
In der Software-Entwicklung ist nichts beständiger als der Wandel.
Nicht selten sind es hunderte Entwickler, die an Tausenden von
Modulen arbeiten, die in unzähligen Konfigurationen
zusammengestellt werden können. Wie bekommt man diese Änderungen
unter Kontrolle? Wie sorgt man für konsistente Konfigurationen?
Wie findet man im Fehlerfall die fehlerverursachende Änderung?
In diesem Vortrag stellen wir einen vereinheitlichten Ansatz vor,
Abhängigkeiten zwischen Software-Versionen und Änderungen zu
modellieren und die Konsistenz von Konfigurationen
sicherzustellen. Mit *Feature-Logik* modellieren wir Mengen von
versionierten Objekten einschließlich der Objekt-Eigenschaften,
die für die Konsistenz relevant sind. Der Ansatz vereinheitlicht
sämtliche bekannten Versionierungsverfahren auf logischer
Grundlage.
Nicht immer sind die Konsistenzbedingungen explizit gegeben.
Tritt nach Anwenden von Änderungen ein Fehler auf, läßt sich
aber durch systematisches Testen automatisch die konsistenzverletzende
Änderung bestimmen. In einem Beispiel bestimmte unser
*Delta-Debugging* Verfahren aus 178.000 geänderten Codezeilen in
wenigen Stunden die fehlerverursachende Änderung.
Zur Person:
Dr. Andreas Zeller ist wissenschaftlicher Assistent an der
Universität Passau. Seine Arbeit zur vereinheitlichten
Software-Versionierung wurde 1997 mit dem Software-Engineering-
Preis der GI ausgezeichnet. Sein aktuelles Forschungsgebiet ist
Delta Debugging, ein Verfahren, das für einen gegebenen Software-
Fehler automatisch dessen Ursachen isoliert. Studenten kennen ihn
durch *DDD*, einen Debugger, der Datenstrukturen aus dem laufenden
Programm visualisiert, sowie *Praktomat*, ein System zur
automatisierten Qualitätskontrolle im Programmierpraktikum.