03.08.2004

PROGRESS

Einfachere Suche nach Software-Bugs

Bugs in Software-Programmen werden inzwischen für so gut wie alles verantwortlich gemacht: von verloren gegangenen Diplomarbeiten über Stromausfälle bis zum Verlust teurer Raumsonden.

Diese Fehlfunktionen schaden auch der Wirtschaft - allein für die USA wurden die Verluste in einer Studie aus dem Jahr 2002 auf 49,8 Mrd. Euro jährlich beziffert.

Die Computer-Bugs verhalten sich dabei wie ihre Namensgeber - man wird sie nur schwer wieder los. Um sie aufzuspüren, müssen Programmierer echte Detektivarbeit leisten, wie Brad Myers, Professor an der Carnegie Mellon University, erklärt.

"Man stellt erst einmal eine Vermutung auf, was der Fehler sein könnte, und beweist dann seine Hypothese. Oft liegen die Programmierer aber auch daneben und bauen nur neue Fehler ein, weil sie etwas reparieren wollten, was gar nicht kaputt war."

Debugging-Programme in Arbeit

Myers und einer seiner Studenten, Andrew Ko, haben ein Programm namens "Whyline" [Workspace for Helping You Link Instructions to Numbers and Events] zur Fehlerbehebung entwickelt, bei dem man die Fragen in umgangsprachlichen Englisch eingeben kann. Es ist für Programmierer aller Stufen gedacht - vom Profi bis zum Wochenend-Webdesigner.

Bei "AskIgor" können Programmierer ihr Programm vorlegen und die Befehle nennen, bei denen es funktioniert oder scheitert.

AskIgor versucht dann herauszufinden, wo die Differenz im Programmablauf, also der Fehler, liegen könnte, erklärt Andreas Zeller, Professor an der Universität des Saarlandes.

Vorerst auf Linux beschränkt

Zellers Programm arbeitet derzeit nur mit bestimmten Linux-Programmen zusammen. Bei Whyline ist die Arbeitsumgebung ähnlich eingeschränkt. Es befindet sich noch im akademischen Versuchsstadium und versteht bisher nur die Programmiersprache Alice.

Mit den Ergebnissen ist Myers aber zufrieden: Fehler wurden acht Mal schneller gefunden als bisher. Eine Übertragung zum Beispiel auf Java, das viel komplexer als Alice ist, würde auch die Fehlersuche deutlich schwieriger machen.

Whyline ist Teil eines größeren Projekts in den USA, das sich EUSES [End Users Shaping Effective Software] nennt. Es soll die Arbeit mit dem Computer in jeder Hinsicht einfacher und angenehmer machen. Meldungen wie "allgemeine Schutzverletzung" oder der berüchtigte "schwere Ausnahmefehler" sollen dann der Vergangenheit angehören. Aber bis dahin ist es noch ein weiter Weg.