| 19:10 Uhr

Saar-Uni baut Software-Automaten

Professor Bernd Finkbeiner entwickelt an der Saar-Uni Computerprogramme, die Computerprogramme schreiben. Foto: Serra
Professor Bernd Finkbeiner entwickelt an der Saar-Uni Computerprogramme, die Computerprogramme schreiben. Foto: Serra FOTO: Serra
Informatiker der Saar-Uni um Professor Bernd Finkbeiner entwickeln Computerprogramme, die Computer programmieren. Für dieses Projekt erhielt der Forscher jetzt einen millionenschweren EU-Forschungspreis. Peter Bylda

Saarbrücken. Vor fünf Jahrzehnten, bei der Einführung des Computers in der Berufswelt, galt die Tatsache, dass eine Berechnung von einem Gerät der elektronischen Datenverarbeitung stammt, noch als Beweis ihrer Korrektheit. Mit Bemerkungen wie "Das muss stimmen, das stammt vom Computer " wurden Zweifler abgebügelt. Heute wissen wir's besser. Computer machen Fehler - mitunter sogar kolossale. Denn Programme, die elektronische Schaltkreise steuern, stammen von Menschenhand. Und Menschen können irren. Wäre es da nicht eine gute Idee, Computer von Computern programmieren zu lassen?

Um dieses Thema machten die Informatiker lange Zeit einen großen Bogen. Das hatte weniger mit der Furcht zu tun, der Computer , den sie heute programmieren, könnte sie morgen wegrationalisieren, als mit den Fallstricken der Logik, in denen man sich dabei verheddern kann. Erst seit knapp einem Jahrzehnt testen Informatiker weltweit Systeme der automatischen Programmierung bei eng umrissenen Aufgabenstellungen, so Finkbeiner.

Die Erfolge waren bisher, vorsichtig formuliert, mäßig. Computerprogramme, die heute von Computerprogrammen erzeugt werden können, gelten zwar im mathematischen Sinne als garantiert fehlerfrei, aber oft auch als unbrauchbar. Denn für die Lösung einer Programmieraufgabe für Anfänger, die ein Student in fünf Zeilen Code erledigt, braucht die Maschine das Hundertfache. Und bei schwierigeren Aufgaben versagt sie oft komplett.

Dieses Leistungsdefizit des Kollegen Computer zu mindern, hat sich der Saarbrücker Informatik-Professor Bernd Finkbeiner vorgenommen. Für die Entwicklung neuer Techniken der automatischen Programmierung erhält der Computerforscher der Saar-Uni nun einen mit zwei Millionen Euro dotierten Forschungspreis der Europäischen Union (ERC Consolidator Grant).

Zu den Projekten, die der Saarbrücker Informatiker untersucht, gehören Steuerungen kompletter Fertigungsstraßen in großen Industrieanlagen und sogenannte Reaktive Systeme. Bei solchen Programmen, die Flugzeuge, Züge und eines Tages auch das autonome Autos steuern sollen, kann eine Null-Fehler-Garantie lebenswichtig sein, wie kurz nach der Jahrtausendwende zum Beispiel ein Rechtsstreit in den USA um die Gaspedalsteuerung von Autos des japanischen Herstellers Toyota zeigte. Unter Informatikern gelte es mittlerweile als ausgemacht, dass strukturelle Fehler in der Kfz-Software bei einer Unfallserie eine Rolle spielten, bei der damals in mehreren Fällen Autos ohne Zutun des Fahrers plötzlich beschleunigten, so Bernd Finkbeiner.

Die Saarbrücker Computerforscher beschäftigen sich allerdings nicht mit Softwaresteuerungen einzelner Autos, sondern mit Programmen, die künftig das ungleich kompliziertere Miteinander vieler autonom fahrender Fahrzeuge auf unseren Straßen steuern sollen. "Wir brauchen dafür nicht nur Software mit Sicherheitsgarantien", so Finkbeiner, "sondern auch Verfahren, mit denen man sie effizient entwickeln kann."

Die Software-Automaten, die Saarbrücker Computerspezialisten nun entwickeln, sollen menschliche Programmierer nicht überflüssig machen, sondern bei nervenden Standardaufgaben entlasten, erläutert der Informatiker. Der Mensch gebe solchen Systemen der Programmsynthese nur noch allgemeine Ziele in einer speziellen Programmiersprache vor. Am Computer sei es dann, die Aufgaben zu analysieren und in den tatsächlichen Programmcode zu übersetzen - oder auch nicht. Denn der digitale Programmierer , den die Forscher der Universität des Saarlands entwickeln, soll zwar garantiert fehlerfreie Ergebnisse liefern, so Bernd Finkbeiner - aber garantieren werde er Ergebnisse nicht. Konfrontiert der menschliche Programm-Partner seinen digitalen Assistenten mit einem Problem, das dieser nicht oder nicht mit vertretbarem Aufwand bewältigen kann, gebe er als Output keinen Maschinencode aus, sondern die lapidare Antwort: "Für diese Aufgabe gibt es keine Lösung."