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
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."
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.