Kann der Computer selbst programmieren?

DIE LOGISCHEN UND SPIELTHEORETISCHEN GRUNDLAGEN

DER AUTOMATISCHEN PROGRAMMSYNTHESE

Arbeitsgruppe 3 bei der Akademie XII der Studienstiftung des deutschen Volkes
in der Historisch-Ökologischen Bildungsstätte in Papenburg

Der Traum, Programme automatisch zu erzeugen, reicht zurück bis in die
frühen Anfänge der Informatik. Dem Softwareentwickler soll
ermöglicht werden, auf einem abstrakten Niveau zu beschreiben WAS
berechnet werden soll, anstatt im Detail festlegen zu müssen, WIE
dies zu geschehen hat. Synthesealgorithmen leiten aus der
Spezifikation der gewünschten Programmeigenschaften automatisch, ohne
Mithilfe eines menschlichen Programmierers, ein lauffähiges und
garantiert fehlerfreies Programm ab. Leider (bzw., im Hinblick auf die
Arbeitsmarktsituation der menschlichen Programmierer, vielleicht auch
erfreulicherweise) gehört die Programmsynthese zu den unentscheidbaren
und daher nicht allgemein zu lösenden Problemen. Dennoch ist es der
Forschung während der letzten Jahrzehnte gelungen, immer mehr Aspekte
der Synthese genau zu verstehen und algorithmischen Lösungen
zugänglich zu machen. Wichtige Meilensteine sind die Reduktion des
Syntheseproblems auf spieltheoretische Fragen (hat das ‘gute’ System
eine gewinnende Strategie gegen die ‘böse’ Umgebung?) und die
Entwicklung von automatischen Entscheidungsprozeduren für viele
wichtige Programmtheorien, wie beispielsweise dynamische
Datenstrukturen, Mengentheorie und lineare Arithmetik. In der
Arbeitsgruppe werden wir uns mit diesen spannenden Entwicklungen
beschäftigen und uns an aktuelle Forschungsfragen, beispielsweise im
Bereich der automatischen Synthese von parallelen und verteilten
Systemen, herantasten.

Leitung Prof. Dr. Bernd Finkbeiner
Fachbereich Informatik, Universität des Saarlandes
Dr. Ruzica Piskac
Max-Planck-Institut für Softwaresysteme, Saarbrücken
Teilnehmer           Studierende der Informatik und Mathematik sowie Studierende anderer Fächer mit entsprechendem Interesse und Bereitschaft zur
Einarbeitung
Literatur Literaturhinweise und weitere Informationen finden Sie hier.