185.276 Analyse und Verifikation
Diese Lehrveranstaltung ist in allen zugeordneten Curricula Teil der STEOP.
Diese Lehrveranstaltung ist in mindestens einem zugeordneten Curriculum Teil der STEOP.

2013S, VU, 2.0h, 3.0EC, wird geblockt abgehalten

Merkmale

  • Semesterwochenstunden: 2.0
  • ECTS: 3.0
  • Typ: VU Vorlesung mit Übung

Ziele der Lehrveranstaltung

Die Studierenden erhalten ein profundes theoretisches und praktisches
Verständnis fundamentaler Prinzipien und Konzepte in Programmanalyse,
-verifikation und -transformation, das sie befähigt, darauf gegründete
Verfahren kompetent und adäqat anzuwenden und die Möglichkeiten und
Grenzen insbesondere automatischer Verfahren zur Programmanalyse,
-verifikation und transformation fundiert einzuschätzen und zu
beurteilen.

Inhalt der Lehrveranstaltung

Die Vorlesung beschäftigt sich mit Konzepten und Prinzipien
grundlegender und fortgeschrittener Verfahren zur Analyse und
Verifikation von Softwaresystemen. Im Mittelpunkt stehen dabei die
Konzepte von Korrektheit, Vollständigkeit und Optimalität in Analyse,
Verifikation und Transformation. Die Vorlesung spannt dabei den Bogen
von Hoarescher Logik über Programm- und Datenflussanalyse zur
Theorie abstrakter Interpretation und Modellprüfung. Illustrierende
Transformationen werden dabei besonders dem Bereich optimierender und
verifizierender Übersetzung entnommen. Anhand regelmäßig gestellter
Übungsaufgaben werden die in der Vorlesung behandelten Themen an
maßgeschneiderten Aufgabenstellungen erprobt und angewendet.

Teil I: Motivation

  • Grundlagen
  • Operationelle Semantik von WHILE
  • Denotationelle Semantik von WHILE
  • Axiomatische Semantik von WHILE
  • Worst-Case Execution Time Analyse

Teil II: Analyse und Verifikation

  • Programmanalyse
  • Programmverifikation vs. Programmanalyse
  • Reverse Datenflussanalyse
  • Chaotische Fixpunktiteration
  • Basisblock- vs. Einzelanweisungsgraphen

Teil III: Transformation und Optimalität

  • Elimination partiell toter Anweisungen
  • Elimination partiell redundanter Anweisungen
  • Kombination von PRAE und PDCE
  • Konstantenfaltung auf dem Wertegraphen

Teil IV: Abstrakte Interpretation und Modellprüfung

  • Abstrakte Interpretation und DFA
  • Modellprüfung und DFA

Teil V: Abschluss und Ausblick

  • Resümee und Perspektiven




Weitere Informationen

Am Mittwoch, den 06.03.2012, findet von 13 Uhr s.t. bis 14 Uhr im
Hösaal EI4 eine gemeinsame Vorbesprechung für alle am AB
Programmiersprachen und Übersetzer im SS 2013 angebotenen
Lehrveranstaltungen statt.

Eine spezifische Vorbesprechung für die LVA "Analyse und Verifikation"
findet zusammen mit der ersten Vorlesung am Di, den 05.03.2013, um
16:30 Uhr im Hörsaal EI3a statt.

Vortragende Personen

Institut

LVA Termine

TagZeitDatumOrtBeschreibung
Di.16:30 - 18:0005.03.2013 - 25.06.2013EI 3A Hörsaal KNOOP
Analyse und Verifikation - Einzeltermine
TagDatumZeitOrtBeschreibung
Di.05.03.201316:30 - 18:00EI 3A Hörsaal KNOOP
Di.12.03.201316:30 - 18:00EI 3A Hörsaal KNOOP
Di.19.03.201316:30 - 18:00EI 3A Hörsaal KNOOP
Di.09.04.201316:30 - 18:00EI 3A Hörsaal KNOOP
Di.16.04.201316:30 - 18:00EI 3A Hörsaal KNOOP
Di.23.04.201316:30 - 18:00EI 3A Hörsaal KNOOP
Di.30.04.201316:30 - 18:00EI 3A Hörsaal KNOOP
Di.07.05.201316:30 - 18:00EI 3A Hörsaal KNOOP
Di.14.05.201316:30 - 18:00EI 3A Hörsaal KNOOP
Di.28.05.201316:30 - 18:00EI 3A Hörsaal KNOOP
Di.04.06.201316:30 - 18:00EI 3A Hörsaal KNOOP
Di.11.06.201316:30 - 18:00EI 3A Hörsaal KNOOP
Di.18.06.201316:30 - 18:00EI 3A Hörsaal KNOOP
Di.25.06.201316:30 - 18:00EI 3A Hörsaal KNOOP
LVA wird geblockt abgehalten

Leistungsnachweis

Beurteilung von Beispielen und mündliche Prüfung. Die Gesamtnote setzt
sich je zur Hälfte aus der Übungsnote auf die Beispiele und der Note
für die mündliche Prüfung zusammen.

LVA-Anmeldung

Curricula

Literatur

Es wird kein Skriptum zur Lehrveranstaltung angeboten.

Vorkenntnisse

Grundlegende Kenntnisse in Theoretischer Informatik und Programmierung
werden vorausgesetzt. Kenntnisse im Übersetzerbau sind nützlich, etwa
aus den Lehrveranstaltungen 185.A48 VU 4.0h "Übersetzerbau" oder
185.A04 VU 2.0 "Optimierender Übersetzerbau", aber nicht zwingend
erforderlich.

Die Vorlesung ergänzt die Lehrveranstaltungen 185.276 "Analyse und
Verifikation" und 185.A56 "Semantik von Programmiersprachen". Sie
empfiehlt sich deshalb inbesondere für Studierende, die im Bereich von
Programmiersprachen und Übersetzerbau einen besonderen Schwerpunkt
setzen, eine Seminararbeit, ein Praktikum oder ihre Diplomarbeit
anfertigen möchten.

Vorausgehende Lehrveranstaltungen

Begleitende Lehrveranstaltungen

Vertiefende Lehrveranstaltungen

Weitere Informationen

Sprache

Deutsch