Presseinformation 009/2011

Der digitale Kammerjäger

KIT-Forscher entwickeln Methoden zur Lokalisierung von Software-Fehlern, um Entwicklungszeiten deutlich zu reduzieren
KIT-Forscher sind auf der Jagd nach digitalem Ungeziefer (Foto: Thorsten Freyer)
KIT-Forscher sind auf der Jagd nach digitalem Ungeziefer (Foto: Thorsten Freyer)

Der PC ist kaum noch aus dem heutigen Leben wegzudenken. Unzählige Anwender schätzen die elektronische Rechenmaschine für die Unterstützung bei den verschiedensten Anwendungen. Doch kaum ein Anwender bleibt von Software-Fehlern, so genannten Bugs (engl.: Käfer), verschont. Genau wie der reale Namensgeber ist das digitale Ungeziefer schwer zu finden und zu beseitigen. Spezialisten des Instituts für Programmstrukturen und Datenorganisation (IPD) am KIT arbeiten daran, die Suche einfacher zu gestalten.

Nach Aussagen des Research Triangle Institute (RTI) werden bei der Softwareentwicklung 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 in vielen Fällen 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 Sisyphusaufgabe.

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 lästiges Übel. Kaum ein Programm ist bei der Markteinführung vollständig fehlerfrei. Um Programmierer bei der Fehlersuche effektiv zu unterstützen, entwickeln Informatiker am Lehrstuhl für Systeme der Informationsverwaltung am IPD unter Leitung von Professor Klemens Böhm 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“, so Projektleiter Christopher Oßner.

Um einem Programmfehler auf die Schliche zu kommen, setzen die Forscher Methoden des Data-Mining ein. Diese beschäftigen sich damit, Interessantes in Datenbeständen zu finden. Ähnliche Mittel werden beispielsweise eingesetzt, um Spam von erwünschten E-Mails zu trennen oder Sterne in Teleskopaufnahmen zu Galaxien zusammenzufassen. Um so auf die Jagd nach Bugs zu gehen, wird aufgezeichnet, was ein Programm während seiner Ausführung tut. Diese Daten analysiert man mit Hinblick darauf, was für einen Programmfehler typisch ist.

Die gewonnenen Daten sind üblicherweise sehr umfangreich, die Analyse daher überaus aufwendig. Um der Datenfülle Herr zu werden, setzten die Wissenschaftler am IPD nun 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“, veranschaulicht Oßner das Vorgehen, mit dem auch größere Softwareprojekte analysiert werden können. Die so gewonnenen Informationen können schließlich einen Programmierer bei seiner Suche nach einem Defekt in dem Programm anleiten.

Die Aufgabenstellung ist nicht nur aus wirtschaftlicher Sicht interessant, schließlich gibt es hier großes Potenzial zum Einsparen von Zeit bei der Entwicklung von Software. Innerhalb der Data-Mining-Forschergemeinschaft wird Fehlerlokalisierung als eines der interessantesten und herausragendsten Probleme angesehen. Das IPD wird seine aktuellen Ergebnisse daher im April auf der SDM, der Konferenz für Daten-Analyse der amerikanischen Gesellschaft für industrielle und angewandte Mathematik, der Fachwelt vorstellen.

 

Als „Die Forschungsuniversität in der Helmholtz-Gemeinschaft“ schafft und vermittelt das KIT Wissen für Gesellschaft und Umwelt. Ziel ist es, zu den globalen Herausforderungen maßgebliche Beiträge in den Feldern Energie, Mobilität und Information zu leisten. Dazu arbeiten rund 10 000 Mitarbeiterinnen und Mitarbeiter auf einer breiten disziplinären Basis in Natur-, Ingenieur-, Wirtschafts- sowie Geistes- und Sozialwissenschaften zusammen. Seine 22 800 Studierenden bereitet das KIT durch ein forschungsorientiertes universitäres Studium auf verantwortungsvolle Aufgaben in Gesellschaft, Wirtschaft und Wissenschaft vor. Die Innovationstätigkeit am KIT schlägt die Brücke zwischen Erkenntnis und Anwendung zum gesellschaftlichen Nutzen, wirtschaftlichen Wohlstand und Erhalt unserer natürlichen Lebensgrundlagen. Das KIT ist eine der deutschen Exzellenzuniversitäten.

del, 20.01.2011
Kontakt:

 

Christian Könemann
Pressesprecher
Tel: +49 721 608-41105
Fax: +49 721 608-43658
christian koenemann does-not-exist.kit edu

Kontakt für diese Presseinformation:

Denis Elbl
Pressereferent
Tel.: +49 721 608-21153
denis elbl does-not-exist.kit edu