Nachlese: Woher kommen Softwarefehler? | Print |
Written by Michael Jastram   
Thursday, 19 January 2012 19:50

Professor Zeller hat dem Lehrstuhl für Softwaretechnik und Programmiersprachen einen Besuch abgestattet, und die rheinjug hat ihn dann gleich für einen Vortrag rekrutiert. Das Thema kam gut an - es fanden sich 165 Besucher ein, die sich neue Einsichten rund ums Thema Softwarefehler erhofften.

Neue Einsichten hatte Prof. Zeller einige zu bieten. Ganz allgemein fokussierte er sich auf die drei Themen Diagnose, Erkennen, Vorbeugen.

Um die Problematik deutlich zu machen, wurden erst diverse Probleme vorgestellt - diese variierten vom Kampfjet bis zur einfachen Adressenanwendung. Dort wurde dann im Detail analysiert, wo die Fehlerursache war, und was die Geschichte hinter den einzelnen Problemen war. Damit wurde der Rahmen gesetzt.

Testen ist ein wichtiger Aspekt vom Debuggen. Viel Hilfe können einem Werkzeuge anbieten, die entweder Interaktionen mit der Software aufzeichnen, oder sogar automatisch Tests erzeugen. Ein Beispiel ist Exsyst, ein Werkzeug, dass vollautomatisch und ohne irgendwelche Anforderungen an den Nutzer, GUI-basierte Programme testet. Exsyst wird hoffentlich im Laufe dieses Jahres in der Open Source veröffentlicht. Das Programm soll es bald auch für Webanwendungen unter trywebmate.com geben. Sehr cool!

Nun zum Thema Vorbeugen: Wer macht mehr Fehler, junge oder alte Entwickler? Die Antwort ist alte, das liegt aber daran, dass die jüngeren gar nicht an den schwierigen Code drankommen. Wie nützlich sind Metriken, und welche Rolle spielen Programmiersprachen und Bibliotheken? Aufschlussreich war dabei, dass viele Fehler oft da auftauchen, wo schon viel unternommen wird: Zum Beispiel finden sich in gut getestetem Code mehr Fehler als in schlecht- oder gar nicht getesteten Code. Das liegt aber - wie bei dem Entwicklerbeispiel - oft daran, dass gerade dort, wo es schwierig ist, viel investiert wird. Die Investition lohnt sich (viel Testen == viele Bugs gefunden), aber ändert nichts daran, dass viele Bugs in dem komplizierten Code trotzdem unerkannt bleiben.

Die zahlreichen Fragen bestätigten, dass Prof. Zeller einen Nerv getroffen hast. Das Thema wurde beim anschließenden Bier noch lange weiter diskutiert, und viele Besucher gingen mit neuen Ideen nach Hause.