Der Weg zur fehlerfreien Software

Eine Wissenschaftlerin der TU Wien arbeitet an Methoden zur Fehlerbehebung bei der Entwicklung von Computerprogrammen. Spezielle Algorithmen sollen falsche Codezeilen selbstständig finden und korrigieren.

Die moderne Gesellschaft ist weitgehend abhängig von Computerprogrammen, sei es im Bankwesen, im Verkehr oder in der Informationsbeschaffung. Da die zu berechnenden Aufgaben, und damit auch die dafür benötigte Software immer komplexer werden, ist es inzwischen fast unmöglich, sie fehlerfrei zu entwickeln. Längst ist es zum Alltag geworden, dass jedes Programm und jede App regelmäßig um Updates bittet. Abhilfe könnte aus der Wissenschaft kommen: Das Aufspüren und Korrigieren von Softwarefehlern ist das Forschungsgebiet von Laura Kovacs.

Mit Mathematik und Logik

Die Informatikerin hat in Rumänien studiert, für ihre Dissertation wechselte sie nach Linz, es folgten Postdoc-Stellen in Lausanne und Zürich. Als Hertha-Firnberg-Stipendiatin kam sie an die TU Wien, wo sie derzeit eine Professur innehat, ebenso wie an der Chalmers University in Göteborg. „Mein Forschungsbereich ist die Untersuchung, wie man mit Computer-Algorithmen andere Computer-Algorithmen analysieren, abstrahieren und letzten Endes verbessern kann. Dazu verwende ich Methoden aus der Mathematik und der Logik. Das Programm wird in eine Formel umgewandelt, deren Eigenschaften der Computer dann automatisch überprüfen kann“, erklärt die Informatikerin.

Ein immer wieder auftretender Fehler ist etwa, dass Software auf Speicherorte zugreift, die es gar nicht gibt, was zum Absturz führen kann. Zurückzuführen ist das auf eine falsche Programmierung, „schließlich stehen Menschen dahinter, und Menschen machen nun einmal Fehler“, merkt Kovacs dazu an. Die größte Herausforderung ist dabei die Automatisierung der Fehlerbehebung. „Es gibt keine universelle Methode, Programmierfehler zu beheben, da spezielle Programme spezielle Probleme haben. Manchmal ist die automatische Fehlerbehebung nicht möglich, dann muss man selbst eingreifen“, umreißt Kovacs das komplexe Problem.

Großkonzerne interessiert

Für ihre Forschungsarbeiten erhielt sie im Dezember 2018 den Proof of Concept Grant des Europäischen Forschungsrats. „Unser Ziel ist, die Methode so weit zu kommerzialisieren, dass sie von großen Firmen problemlos angewendet werden kann. Da wir bis jetzt nur mit eher kleinen Programmen gearbeitet haben, müssen wir einen Weg finden, unsere Forschungsergebnisse so aufzubereiten, dass sie sich auch auf Programme mit Hunderttausenden Codes übertragen lassen“, umreißt Kovacs ihre Intentionen. Studenten der TU Wien sind in ihre Forschungen eingebunden und unterstützen sie bei ihrer Arbeit. Auch Interessenten aus der Wirtschaft gibt es bereits, darunter äußerst prominente: Mit Amazon und Microsoft bestehen bereits Kooperationen, mit Facebook werden Vorgespräche geführt.

„Unser Problem ist zurzeit, dass wir aufgrund der Datenschutzbestimmungen nicht mit den echten Daten arbeiten können. Das heißt, wir müssen uns kommerzialisieren und eine Firma gründen, damit wir auf legalem Weg Zugang zu den Daten bekommen“, skizziert die Informatikerin ihre Pläne für die nächste Zukunft. „Das sollte allerdings nicht irgendwann passieren, wir hoffen, dass unsere Ideen in spätestens zwei Jahren in konkreten Programmen realisiert sind.“

LEXIKON

Unter Programmfehlern versteht man (u. a.) nicht interpretierbare Zeichenketten (z. B. Variablen oder Funktionen, sogenannte lexikalische Fehler), Verstöße gegen die grammatischen Regeln der Programmiersprache (Syntaxfehler), Zeilen, die eine inhaltlich fehlerhafte Anweisung geben (semantische Fehler), oder falsche Details im Problemlösungsansatz (logische Fehler). Als stabil gelten Programme mit einer Fehlerdichte von weniger als 0,5 Fehlern pro 1000 Zeilen.

("Die Presse", Print-Ausgabe, 19.01.2019)

Lesen Sie mehr zu diesen Themen:


Dieser Browser wird nicht mehr unterstützt
Bitte wechseln Sie zu einem unterstützten Browser wie Chrome, Firefox, Safari oder Edge.