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

Kubernetes in Cloud-Umgebungen

Ein elementarer Bestandteil einer effektiven Cloud-Strategie ist nach erfolgter Implementierung die künftige Verwaltung des Dienstes.

2 Tagen ago

Aras erweitert seine PLM-Plattform

Die Neuerungen sollen den Digital Thread, die Low-Code-Entwicklung, die Visualisierung komplexer Baugruppen und das Lieferantenmanagement…

2 Tagen ago

Manufacturing-X: Zurückhaltung überwiegt

Eine Bitkom-Umfrage attestiert der Datenraum-Initiative des Bundes hohe Bekanntheit in der Industrie. Doch noch ist…

2 Tagen ago

Ransomware „Marke Eigenbau“

Ransomware-as-a-Service ist ein lukratives Geschäft und in den Händen professionell organisierter Gruppen. Jetzt können Kriminelle…

3 Tagen ago

Bad Bots: Risikofaktor mit hohen Folgekosten

Bad Bots richten nicht nur wirtschaftlichen Schaden an. Laut dem Bad Bot Report von Imperva…

4 Tagen ago

IT-Verantwortliche setzen auf KI-Hosting in Europa

Studie von OVHcloud verdeutlicht Stellenwert von Datenresidenz und Datensouveränität bei KI-Anwendungen.

5 Tagen ago