Wissenschaftlicher Werdegang
Nach meinem Studium der Informatik und Mathematik, das ich 1982 mit Auszeichnung abschloss, wurde ich wissenschaftlicher Mitarbeiter am Institut für praktische Informatik an der TH Darmstadt. In dieser Zeit arbeitete ich am PSG-System, einem Generator für sprachspezifische Programmierumgebungen. PSG erzeugte sprachspezifische Editoren, Typchecker und Interpreter aus einer formalen Definition der Syntax, Typinferenzregeln und denotationalen Semantik einer Programmiersprache. Das System gewann wegen seiner neuartigen Generierungs- und Analyseverfahren schnell internationale Anerkennung.
Meine Dissertation beschäftigte sich mit einem PSG-Subsystem, nämlich der generischen, inkrementellen Typinferenz. Dieses Verfahren, das auf sog. Kontextrelationen basiert, erlaubt das Erkennen von Typfehlern sogar in unvollständigen Programmfragmenten. Im Alter von 27 Jahren promovierte ich mit Auszeichnung zum Dr.-Ing. (Gutachter: W. Henhapl, H. Ganzinger, W. Bibel). Nach einem Zwischenspiel als Gastprofessor in Dortmund ("Theorie der Programmierung") wurde ich Ende 1988 zum wissenschaftlichen Assistenten ernannt.
Nachdem ich im Alter von 32 Jahren den Ruf auf eine C3-Professur in Braunschweig erhielt, musste ich dort die neue Abteilung Softwaretechnologie aufbauen und entsprechende Lehrveranstaltungen anbieten. Dies führte zu einer Ausweitung und Verschiebung der Forschungsaktivitäten. Ziel war es nun, neue theoretische Resultate für die Softwaretechnologie nutzbar zu machen. Dabei wurden insbesondere die Themen Software-Konfigurationsmanagement, Software-Wiederverwendung, Software-Validierung, Software-Reengineering bearbeitet, die alle den späten Phasen des Lebenszyklus zuzuordnen sind.
Durch Anwendungen algebraischer Techniken und Verwendung von Inferenzverfahren gelangen uns schöne Resultate. Dies wirkte sich in Auszeichnungen für meine wissenschaftlichen Mitarbeiter und einem erhöhten Drittmittelfluß aus. Gleichzeitig erschlossen wir uns neue Arbeitsgebiete im Bereich Datenflußanalyse und Software-Sicherheitsprüfung. 1998 erhielt ich einen Ruf auf den Lehrstuhl für Softwaresysteme an der Universität Passau, wo ich von April 1999 bis März 2008 tätig war. In diese Zeit fällt die Berufung mehrerer meiner Doktorkinder der 1. Generation auf Professuren bzw entsprechende Positionen.
Im Frühjahr 2004 erhielt ich einen Ruf auf den Lehrstuhl für Softwaretechnik an der Universität Freiburg, den ich nach längerer Überlegung jedoch nicht annahm. Im Juni 2007 erhielt ich den Ruf auf den Lehrstuhl Programmierparadigmen an der Universität Karlsruhe (Nachfolge Prof. Goos), und mein gesamter Lehrstuhl wechselte zum 1.4.2008 nach Karlsruhe.
Meine Hauptinteressen in der Forschung sind zurzeit Anwendungen von Programmanalyse sowie algebraischen und deduktiven Verfahren für Zwecke der Software-Analyse und der Software-Sicherheitsprüfung. Dabei sind wohlfundierte theoretische Grundlagen ebenso wichtig wie empirische Evaluierungen unserer Ergebnisse. Seit einigen Jahren arbeite ich mit dem IBM T.J.Watson Research Center zusammen, insbesondere im Bereich Programmanalyse für objektorientierte Sprachen. Ergebnisse dieser Kooperation sind z.B. ein Verfahren zur automatischen, anwendungsspezifischen Refaktorisierung von Java-Programmen, das garantiert semantikerhaltend ist. Zurzeit arbeiten wir intensiv an Verfahren zur Information Flow Control für Java-Programme, die deutlich durchschlagender sind als herkömmliche Ansätze. Mit dem Wechsel nach Karlsruhe sind auch Themen des Compilerbaus und der Codeoptimierung wieder stärker ins Blickfeld gerückt.
Mein Ziel ist es stets gewesen, theoretische Ergebnisse in praktisch nutzbare Werkzeuge zu verwandeln. Denn Theorie ohne Praxis ist steril, Praxis ohne Theorie ist unfruchtbar.