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

Blockaden und Risiken bei APM-Projekten vermeiden

Application Portfolio Management (APM) verspricht Transparenz, mehr IT-Leistung und Effizienz – theoretisch.

1 Tag ago

BSI-Bericht: Sicherheitslage im Cyberraum bleibt angespannt

Im Berichtszeitraum Mitte 2023 bis Mitte 2024 wurden täglich durchschnittlich 309.000 neue Schadprogramm-Varianten bekannt.

2 Tagen ago

KI-Hype in der Cybersicherheit – oder besser doch nicht?

KI kommt in der Cybersicherheit zum Einsatz, etwa um Abweichungen im Netzwerkverkehr zu identifizieren. Ist…

3 Tagen ago

Netzwerksegementierung schützt vor Angriffen über die OT

Ungepatchte und veraltetete Maschinen-Software ist ein beliebtes Einfallstor für Hacker, warnt Nils Ullmann von Zscaler…

3 Tagen ago

KI-Bluff bei AIOps erkennen

Die Auswahl einer Lösung sollte anhand von echten Leistungsindikatoren erfolgen, um echte KI von Behauptungen…

4 Tagen ago

Klinikum Frankfurt an der Oder treibt Digitalisierung voran

Interdisziplinäres Lenkungsgremium mit Experten aus den Bereichen IT, Medizin, Pflege und Verwaltung sorgt für die…

4 Tagen ago