10.12.2012 Aufrufe

40 Jahre Informatik in München - Fakultät für Informatik - TUM

40 Jahre Informatik in München - Fakultät für Informatik - TUM

40 Jahre Informatik in München - Fakultät für Informatik - TUM

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Forschungsgebiete der Professur<br />

Die Forschungsgruppe beschäftigt sich mit Anwendungen der Logik <strong>in</strong> der<br />

Programmierung. Das Ziel ist es, die Korrektheit von Programmen mit streng<br />

logischen Mitteln nachzuweisen, und diese Beweisführung selbst wieder<br />

durch den Rechner zu unterstützen. Zu diesem Zweck haben wir zusammen<br />

mit Prof. Paulson von der Universität Cambridge, seit 2006 Dist<strong>in</strong>guished<br />

Affiliated Professor der <strong>Fakultät</strong>, das Isabelle System entwickelt.<br />

Isabelle ist e<strong>in</strong> so genannter „<strong>in</strong>teraktiver Theorembeweiser“, der es dem<br />

Benutzer erlaubt, beliebige mathematische Sätze im Dialog mit dem System<br />

zu beweisen. Der Benutzer gibt die Grobstruktur des Beweises <strong>in</strong> e<strong>in</strong>er Art<br />

Programmiersprache vor, das System überprüft die Korrektheit der Schritte<br />

und versucht, fehlende Details zu ergänzen.<br />

Zwei typische Anwendungen aus Mathematik und <strong>Informatik</strong> mögen dem<br />

Leser die Breite des Isabelle Systems demonstrieren.<br />

Die <strong>40</strong>0 <strong>Jahre</strong> alte Keplersche Vermutung besagt,<br />

dass die abgebildete Packung Kugeln gleicher<br />

Größe platzoptimal ist. Diese Vermutung wurde<br />

1998 von Thomas Hales erstmalig bewiesen. Se<strong>in</strong><br />

Beweis beruht auf e<strong>in</strong>er Reduktion auf 3000 mögliche<br />

Gegenbeispiele, die er von e<strong>in</strong>em Java-<br />

Programm generieren ließ. Mit Hilfe des Isabelle<br />

Systems konnten wir die Korrektheit dieses Java-<br />

Programms beweisen.<br />

Der Java Bytecode Verifier (JBV) ist Teil der Java-<br />

Sicherheitsarchitektur und überprüft übersetzte Java-Programme<br />

(„Bytecode“) auf Wohlgeformtheit,<br />

um Fehler (und damit potenzielle Angriffe) wie<br />

Stack-Überlauf oder -Unterlauf zu verh<strong>in</strong>dern. Trotz<br />

se<strong>in</strong>er zentralen Stellung <strong>in</strong> der Java-<br />

Sicherheitsarchitektur war der JBV lange Zeit ungenügend<br />

verstanden und auch von Sun fehlerhaft<br />

implementiert. Gerw<strong>in</strong> Kle<strong>in</strong> gelang es <strong>in</strong> se<strong>in</strong>er<br />

Dissertation erstmals e<strong>in</strong>e Implementierung des JBV<br />

(als funktionales Programm) zu verifizieren — mit<br />

Isabelle. Für diese Arbeit erhielt er 2003 den Dissertationspreis<br />

der Gesellschaft <strong>für</strong> <strong>Informatik</strong>.<br />

307

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!