Die Jagd auf Computerfehler mithilfe von Mathematik

 

erstellt am
16. 01. 17
13:00 MEZ

Klosterneuburg/Wien (prd) - Um die Sicherheit von Computerprogrammen und Hardware zu erhöhen, braucht es mathematische Analysemethoden. Dank eines Forscherteams um Krishnendu Chatterjee in einem vom Wissenschaftsfonds FWF finanzierten Projekt werden diese Methoden in Zukunft deutlich schneller sein.

Sicherheitslücke in Programm entdeckt, Update dringend empfohlen. Schlagzeilen wie diese erreichen uns derzeit wöchentlich. Oft wird schon zum Verkaufsstart eines neuen Programms ein umfangreiches Update angeboten, das Kinderkrankheiten behebt. Das bringt vielerlei Probleme, öffentliche Institutionen aber auch Unternehmen leiden unter der Unsicherheit und sind immer wieder Hacker-Angriffen ausgesetzt. In immer mehr sensiblen Bereichen wird Software eingesetzt, deren Versagen im Extremfall sogar lebensgefährlich wäre. Nicht alle Bereiche sind gleichermaßen betroffen, viele Computersysteme laufen wie das sprichwörtliche Schweizer Uhrwerk, vor allem Hardware ist in der Regel sehr verlässlich, eher auf der Software-Seite gibt es Probleme.

Mathematik verbessert Computersysteme
Bei komplexen Programmen ist es tatsächlich schwierig, jede kleine Eventualität zu berücksichtigen. Zwar gibt es Computermethoden für Software-Tests, jedoch wuchs die Komplexität der Programme in den vergangenen Jahren stetig, während die Leistungsfähigkeit der Testmethoden hinterherhinkte, insbesondere was ihre Geschwindigkeit angeht - ein guter Anlass, hier in Grundlagenforschung zu investieren. Der Computerwissenschafter Krishnendu Chatterjee beschäftigte sich in einem vom Wissenschaftsfonds FWF finanzierten und kürzlich abgeschlossenen Projekt mit der Analyse von Computersystemen mittels mathematischer Methoden. Damit, so die Hoffnung, sollten grundlegende Verbesserungen in dem Sektor möglich sein.

Graphentheorie
"Dieses Gebiet hat eine lange Tradition", sagt Chatterjee. "Es gibt seit langer Zeit Versuche, eine formale Basis zu finden, um korrekte Systeme zu designen. Fundamentale Arbeiten in diesem Bereich stammen aus den Sechzigerjahren und gehen etwa auf Alonzo Church zurück, eine der Gründerfiguren der Computerwissenschaften." Für die mathematische Analyse von Computersystemen wird die sogenannte "Graphentheorie" genutzt. Ihr Gegenstand sind Objekte, die man sich als Netzwerke aus miteinander verbundenen Punkten oder Knoten vorstellen kann. Computersysteme lassen sich mathematisch als Graphen darstellen: Ein Knoten steht für einen bestimmten Zustand, in dem sich das System befindet, eine Kante steht für einen Übergang zwischen zwei Zuständen. Zum Beispiel befindet sich ein Computer, der gerade diesen Artikel anzeigt, in einem definierten Zustand, der als Knoten dargestellt wird. Beim Klicken auf einen Link wechselt das System in einen neuen Zustand, dieser Wechsel wird als Kante dargestellt.

Verbesserte Graphen-Algorithmen
Dieser Rahmen ist besonders geeignet für die Prüfung von Computersystemen. Chatterjee interessierte sich dafür, wie schnell diese Algorithmen zur Überprüfung (der Fachausdruck lautet "Verifikation") von Computersystemen funktionieren. "Computersysteme werden immer komplexer", sagt Chatterjee. "In manchen Bereichen steckte die Entwicklung in der Verifikation seit den Neunzigern fest. Ein neuer Aspekt dieses Projekts war, aktuelle Zugänge aus der Graphentheorie zu verwenden, um die Algorithmen zu verbessern. Das war eine völlig neue Richtung." Chatterjee hebt die Zusammenarbeit mit seiner Projektpartnerin Monika Henzinger von der Universität Wien hervor, die Expertin für Graphentheorie ist. "Für mich war das ein intensiver Lernprozess. Es war sehr interessant zu sehen, wie die Methoden der Graphen-Algorithmen adaptiert und erweitert werden müssen, um wirklich bessere Algorithmen für die Probleme zu bekommen, die wir untersucht haben."

Grenzen, Bedingungen, Erfolge
Hier war das Projekt sehr erfolgreich: Es gelang, mehrere seit den Neunzigerjahren bestehende Schranken für die Geschwindigkeit bestimmter Verifikationsalgorithmen zu durchbrechen, etwa im Bereich sogenannter "Markov Decision Processes". Das sind Modelle, die mehrere Auswahlmöglichkeiten und ein Zufallselement beinhalten. "Ein Beispiel ist die Entwicklung von Robotern", erklärt Chatterjee. "Ein Roboter interagiert mit einer Umgebung, in der es Unsicherheit gibt, und er hat Auswahlmöglichkeiten, kann etwa nach links oder rechts gehen. 'Markov Decision Processes' sind ein Modell dafür." Für viele Anwendungen ist die Beantwortung der Frage zentral, welche Ereignisse in so einem Modell mit absoluter Sicherheit eintreten. "Der bisher effizienteste Algorithmus dafür war aus 1995 und hatte quadratische Komplexität", sagt Chatterjee. Damit ist gemeint, dass die Laufzeit des Algorithmus mit der Größe des untersuchten Systems quadratisch steigt - ein doppelt so großes System braucht also die vierfache Laufzeit. "In unserem Projekt konnten wir diese Grenze mit Graph-algorithmischen Techniken überwinden."

Chatterjee ist mit dem Erfolg des Projekts sehr zufrieden. "Auch unsere beiden Studenten Sebastian Krinninger und Marthin Chmelik schlugen sich ausgezeichnet, beide erhielten Preise für ihre Dissertationen", sagt Chatterjee. Er betont, dass es sich trotz der Brisanz des Themas um ein reines Grundlagenprojekt handelte. "Unsere erste Arbeit war sehr theoretisch. Nun versuchen wir, Grenzen oder Bedingungen aufzuzeigen, wie schwierig es sein wird, unsere Algorithmen weiter zu verbessern. Auf der anderen Seite wollen wir sehen, wie sich diese Zugänge in der Praxis umsetzen lassen."

Zur Person
Krishnendu Chatterjee (https://ist.ac.at/research/research-groups/chatterjee-group/) ist Professor am IST Austria (Institute for Science and Technology, https://ist.ac.at/) in Klosterneuburg. Er interessiert sich besonders für die Verifikation von Computersystemen und Spieltheorie.

 

 

 

zurück

 

 

 

 

Kennen Sie schon unser kostenloses Monatsmagazin "Österreich Journal" in vier pdf-Formaten? Die Auswahl finden Sie unter http://www.oesterreichjournal.at