Universität Karlsruhe
Eine strukturell operationale Semantik für static-single-assignment Sprachen

Diplomarbeit (abgeschlossen)

Ziel dieser Arbeit ist es, eine strukturell operationale Semantik für SSA (static-single-assignment) Sprachen zu formalisieren und deren Tauglichkeit durch das Beweisen kleinerer Optimierungen mit der erstellten Formalisierung zu demonstrieren.
SSA Sprachen werden in modernen Compilern als Zwischensprachen eingesetzt. Sie zeichnen sich dadurch aus, dass in der statischen Programmrepräsentation an jede Variable nur einmal zugewiesen wird. Eine Formale Semantik für eine Sprache ist die Grundlage, um Korrektheit von Transformationen auf ihr nachzuweisen. Strukturell operationale Semantik hat neben den Eigenschaften einfacher operationaler Semantik den Vorteil, die Blockstruktur eines Programms im aktuellen Abarbeitungszustand explizit darzustellen. Das erleichtert die Formalisierung und Verifikation strukturverändernder Optimierungen.
Ausgehend von einer vorhandenen Spezifikation der operationalen Semantik einer SSA Sprache soll in dieser Diplomarbeit eine strukturell operationale Semantik erstellt werden. Sie soll sich an der auch in SSA Sprachen vorhandenen Blockstruktur von Programmen orientieren. Anhand von Beweisen für die Korrektheit kleinerer Programmtransformationen/Optimierungen soll der Nutzen der erstellten Spezifikation demonstriert werden. Als korrekt sehen wir eine Transformation an, wenn sie einem von uns entwickelten, koalgebraisch spezifizierten Äquivalenzkriterium genügt. Spezifikationen und Beweise sollen im Theorem Beweiser Isabelle/HOL erstellt, erweitert bzw. bewiesen werden.

Betreuer

Alumni
Prof. Sabine Glesner
Jan Olaf Blech

Bearbeiter

Ex-Studenten
Andreas Humbert
Login
Links