Preisgekrönte Fehlersuche: Gestern lief es doch noch!

Andreas Zeller ist nicht nur der Schöpfer des GNU DDD Debuggers, sondern auch der Vater des so genannten Delta-Debuggings. Als Professor lehrt Zeller an der Universität des Saarlandes und seine Forschung zielt vor allem darauf ab, wie sich die Produktivität eines Entwicklers steigern lässt. Für das Delta-Debugging hat Zeller jetzt den in Software-Kreisen renommierten ‘Impact Award’ gewonnen. silicon.de feiert das mit einem Interview.

silicon.de: Wäre für Hersteller wie Subversion dieses Verfahren nicht genau das Richtige?

Zeller: Das ist richtig, aber sehen sie, mein Verfahren ist auch sehr einfach. Das können sie innerhalb von zwei Wochen bei sich implementieren. Ich habe einmal einen Anruf von Microsoft bekommen, die wollten wissen, ob ich Programme für Microsoft hätte. Ich habe geantwortet, ich könne ja zeigen, wie es funktioniert. Am nächsten Morgen hatten die Microsoft-Mitarbeiter das bereits nachgebaut. Und für ein Verfahren, das so einfach ist, ist auch der Markt verhältnismäßig gering.

silicon.de: In ihrem Paper sprechen sie von Problemen wie Interferenz oder Granularität. Was muss man sich denn darunter vorstellen? Wie findet man solche Probleme, die scheinbar völlig unvorhersagbar und völlig zufällig auftreten?

Zeller: Voraussetzung für die Fehlersuche ist, wie ich auch in meinem Buch ‘Why Programs fail‘ beschrieben habe, dass der Fehler vorhanden ist und dass der Fehler reproduzierbar ist. Anders gesagt, es muss das Kind bereits in den Brunnen gefallen sein und man muss in der Lage sein, es immer wieder in den Brunnen fallen zu lassen. Und wenn das so ist, dann kann ich ihnen sagen, warum das Kind in den Brunnen gefallen ist. Natürlich will man einen Fehler im Vorfeld vermeiden. Da kann ich jedoch nicht weiterhelfen. Ich liefere nur die Diagnose, wenn etwas schief geht. Und dafür braucht man auch die Aufzeichnung des Fehlers, aber das geht eigentlich sehr einfach. Man kann sich das vorstellen wie die Blackbox im Flugzeug.

silicon.de: Also dem Windows-Nutzer, bei dem beispielsweise völlig unerwartet der Mauszeiger über den Bildschirm zu wandern beginnt, können sie nicht helfen?

Zeller: Nein, im Prinzip nicht. Was ich aber bei mir selbst beobachtet habe, ist, dass ich diese systematische Fehlersuche, die ich in meinem Verfahren implementiert habe, inzwischen auch bei mir selbst anwende. Ich schließe Schritt für Schritt eine Ursache nach der anderen aus, um dann zu sehen, was zu dem Fehler geführt hat. Und alleine dieses geschärfte Nachdenken hat bei mir zu dramatischen Produktivitätssteigerungen geführt. Und das ist etwas, das wir in Zukunft auch Programmierern beibringen wollen, wie man systematisch nach Fehler suchen kann, auch wenn es sein muss, ganz ohne Computerunterstützung.