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

Studie: Rund ein Drittel der APIs sind ungeschützt

Angriffe auf APIs und Webanwendungen sind zwischen Januar 2023 und Juni 2024 von knapp 14…

3 Tagen ago

Universitätsmedizin Essen setzt für E-Mail-Sicherheit auf NoSpamProxy

Mit täglich über 45.000 eingehenden E-Mails ist die IT-Abteilung des Klinikums durch Anhänge und raffinierte…

3 Tagen ago

Bau-Spezialist Schöck: Migration von SAP ECC ERP auf S/4HANA

Bau- und Fertigungsspezialist investiert in die S/4HANA-Migration und geht mit RISE WITH SAP in die…

5 Tagen ago

Pure Storage: Cloud, KI und Energieeffizienz

Trends 2025: Rasante Entwicklungen bei Automatisierung, KI und in vielen anderen Bereichen lassen Unternehmen nicht…

6 Tagen ago

GenKI verbessert Datenmanagement und Angebotsgenauigkeit

DHL Supply Chain nutzt generative KI-Anwendungen für Datenbereinigung und präzisere Beantwortung von Angebotsanforderungen (RFQ).

7 Tagen ago

Rolls-Royce Power Systems nutzt industrielle KI aus der IFS Cloud​

Marke mtu will globale Serviceabläufe optimieren und strategische Ziele hinsichtlich Effizienz, Nachhaltigkeit und Wachstum unterstützen.

7 Tagen ago