Nach Angaben des Research Triangle Institute (RTI) wird bei der Software-Entwicklung rund 35 Prozent der Zeit mit der Fehlersuche verbracht. Die Grundform dieses so genannten Debugging besteht darin, ein Programm Schritt für Schritt abzuarbeiten. Dabei muss die Belegung von Variablen beobachtet werden. Selbst bei kleineren Software-Projekten können sowohl die Anzahl der durchlaufenen Schritte als auch die Anzahl der belegten Variablen und die Entscheidungen, die von der Belegung abhängen, gigantisch sein.
Die Komplexität von Software führt zudem dazu, dass sich ein Fehler nur unter gewissen Bedingungen manifestiert. Ein kurzer Blick auf den Programmtext hilft bei der Fehlersuche selten weiter. Um einen Fehler zu finden, sind oft viele schrittweise Ausführungen des Programmes unter den Argusaugen des Programmierers nötig – eine Sisyphusarbeit. Es existieren vielfältige Ansätze, diese Arbeit zu optimieren. Einige zielen darauf ab, Fehler von vornherein zu vermeiden. Aber Bugs können nicht vollständig vermieden werden und sind nicht nur während der Entwicklung ein Übel. Kaum ein Programm ist bei der Markteinführung vollständig fehlerfrei.
Die IPD-Informatiker entwickeln jetzt Methoden, die Programmierern Hinweise geben, wo sie überhaupt nach einem Fehler suchen sollten. “Wenn ein Programmierer im Schnitt nur noch halb so viel Programmtext ansehen muss, ist das eine enorme Arbeitserleichterung”, sagte Projektleiter Christopher Oßner. Um einem Fehler auf die Schliche zu kommen, setzen die Forscher Methoden des Data-Mining ein. Damit wird aufgezeichnet, was ein Programm während seiner Ausführung tut. Diese Daten analysiert man dann mit Hinblick darauf, was für einen Programmfehler typisch ist.
Die gewonnenen Daten sind sehr umfangreich. Um der Datenfülle Herr zu werden, setzten die Wissenschaftler ein hierarchisches Vorgehen ein. Anstatt den gesamten Datenbestand auf einmal zu analysieren, wird er zunächst auf einer gröberen Ebene betrachtet. “Wenn Sie eine Weltreise planen, studieren Sie nicht als Erstes die Straßenkarten einer Stadt, sondern werfen zunächst einen Blick auf den Globus”, so Oßner. Die so gewonnenen Informationen können schließlich einen Programmierer bei seiner Suche nach einem Defekt anleiten.
Die Aufgabenstellung ist demnach nicht nur aus wirtschaftlicher Sicht interessant, schließlich gebe es hier großes Potenzial zum Einsparen von Zeit bei der Entwicklung von Software. Innerhalb der Data-Mining-Forschergemeinschaft werde die Fehlerlokalisierung als eines der interessantesten Probleme angesehen, hieß es. Das IPD werde seine Ergebnisse daher im April auf der SDM vorstellen, der Konferenz für Daten-Analyse der amerikanischen Gesellschaft für industrielle und angewandte Mathematik.
Assistenzsysteme unterstützen Monteure bei der Arbeit. Zu oft zahlt man jedoch mit den eigenen Daten…
Hersteller werden stärker in die Pflicht genommen, den gesamten Lebenszyklus ihrer Produkte in den Blick…
LLMs besitzen einerseits innovative neue Fähigkeiten, stellen Unternehmen allerdings auch vor diverse Herausforderungen: ob EU…
Server-Ausbau in den USA und China macht große Fortschritte, deutscher Weltmarktanteil sinkt. Lichtblicke in Frankfurt…
Der Markt für Workplace Services gerät in Bewegung. Das bestmögliche digitale Nutzererlebnis gilt als Schlüssel…
Schutz für 10.000 Postfächer über rund 200 Domains: Private-Stack-Variante kombiniert Vorteile einer Cloud-Lösung mit Sicherheit…