Data-Mining-Falle für Software-Bugs

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.


Bild: Thorsten Freyer

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.

Silicon-Redaktion

Recent Posts

Mehr Datenschutz in der Montage

Assistenzsysteme unterstützen Monteure bei der Arbeit. Zu oft zahlt man jedoch mit den eigenen Daten…

1 Tag ago

Cyber Resilience Act: Countdown läuft

Hersteller werden stärker in die Pflicht genommen, den gesamten Lebenszyklus ihrer Produkte in den Blick…

1 Tag ago

KI auf dem Prüfstand

LLMs besitzen einerseits innovative neue Fähigkeiten, stellen Unternehmen allerdings auch vor diverse Herausforderungen: ob EU…

2 Tagen ago

Rechenzentren: Deutschland verliert Anschluss

Server-Ausbau in den USA und China macht große Fortschritte, deutscher Weltmarktanteil sinkt. Lichtblicke in Frankfurt…

3 Tagen ago

KI steigert Nachfrage nach hybriden Workplace-Umgebungen

Der Markt für Workplace Services gerät in Bewegung. Das bestmögliche digitale Nutzererlebnis gilt als Schlüssel…

3 Tagen ago

Hagebau erreicht E-Mail-Sicherheit mit der NoSpamProxy Cloud

Schutz für 10.000 Postfächer über rund 200 Domains: Private-Stack-Variante kombiniert Vorteile einer Cloud-Lösung mit Sicherheit…

3 Tagen ago