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.

2019S, 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
  • Sprache WHILE
  • Operationelle Semantik
  • Denotationelle Semantik
  • Axiomatische Semantik
  • Axiomatische Ausführungszeitanalyse

Teil II: Analyse und Verifikation

  • Programmanalyse
  • Reverse Programmanalyse
  • Parallele Programmanalyse
  • Programmverifikation vs. Programmanalyse

Teil III: Transformation und Optimalität

  • Chaotische Fixpunktiteration
  • Partiell tote und geisterhafte Anweisungen
  • Partiell redundante Anweisungen
  • Partiell redundante Ausdrücke
  • Transformationskombinationen
  • Konstantenanalyse auf dem Wertegraphen

Teil IV: Abstrakte Interpretation und Modellprüfung

  • Abstrakte Interpretation und DFA
  • Modellprüfung und DFA
  • Modellprüfung und abstrakte Interpretation

Teil V: Abschluss und Ausblick

  • Resümee und Perspektiven

Literaturverzeichnis

Anhang

  • Mathematische Grundlagen
  • Pragmatik: Flussgraphvarianten

 

Weitere Informationen

Die Vorbesprechung und daran anschließend die erste Vorlesung finden
statt am Mittwoch, den 06.03.2019, von 16:15 Uhr bis 17:45 Uhr im
Hörsaal EI3a, Elektrot.Institutsg., Gußhausstr. 25-29, 2. Stock.

Aufteilung der ECTS-Punkte:

Der Lehrveranstaltung sind 3.0 ECTS-Punkte zugeordnet. Diese
entsprechen einem durchschnittlichen Lernaufwand von 75
Stunden. Dieser durchschnittliche Lernaufwand verteilt sich in
folgender Weise auf die einzelnen Teile der Lehrveranstaltung:

  • Vorlesungsbesuch und -vor- und -nachbereitung: 35 Std.
  • Übungsaufgaben: 30 Std.
  • Prüfungsvorbereitung und mündliche Prüfung: 10 Std.

Vortragende Personen

Institut

LVA Termine

TagZeitDatumOrtBeschreibung
Mi.16:00 - 18:0006.03.2019 - 26.06.2019EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
Analyse und Verifikation - Einzeltermine
TagDatumZeitOrtBeschreibung
Mi.06.03.201916:00 - 18:00EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
Mi.13.03.201916:00 - 18:00EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
Mi.20.03.201916:00 - 18:00EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
Mi.27.03.201916:00 - 18:00EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
Mi.03.04.201916:00 - 18:00EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
Mi.10.04.201916:00 - 18:00EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
Mi.08.05.201916:00 - 18:00EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
Mi.15.05.201916:00 - 18:00EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
Mi.22.05.201916:00 - 18:00EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
Mi.29.05.201916:00 - 18:00EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
Mi.05.06.201916:00 - 18:00EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
Mi.12.06.201916:00 - 18:00EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
Mi.19.06.201916:00 - 18:00EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
Mi.26.06.201916:00 - 18:00EI 3A Hörsaal LVA 185.276 VU Analyse und Verifikation
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

Von Bis Abmeldung bis
01.02.2019 01:00 15.03.2019 13:00 31.03.2019 23:59

Curricula

StudienkennzahlVerbindlichkeitSemesterAnm.Bed.Info
066 931 Logic and Computation Gebundenes Wahlfach
066 937 Software Engineering & Internet Computing Gebundenes Wahlfach

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 "Optimierende Compiler", aber nicht zwingend
erforderlich.

Die Vorlesung ergänzt die Lehrveranstaltungen 185.A04 "Optimierende
Compiler" 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