WS 2014/15: Modellierung, Analyse, Verifikation

Dozentin / Übungsleitung

Dozentin:

Prof. Dr. Barbara König (Email)

Übungsleitung:

Jan Stückrath (Email)

Lernziele / Inhalt

Zur automatischen Verifikation und Validierung von Programmen und Systemen benötigt man Verfahren, die bei Eingabe eines Programms und einer zugehörigen Spezifikation entscheiden, ob das Programm diese Spezifikation erfüllt.
Im allgemeinen ist dieses Problem unentscheidbar, es gibt jedoch viele sicherheitskritische Programme, die man dennoch gerne maschinell analysieren und verifizieren möchte. Auch sie können analysiert werden, wenn man nicht-vollständige Verfahren zuläßt. Man verlangt, dass diese Analyseverfahren niemals ein fehlerhaftes Programm als korrekt ansehen, es ist aber zulässig, korrekte Programme abzulehnen (einseitiger Irrtum). Auf diese Weise kann immer noch eine große Menge von Programmen analysisert und ihre Korrektheit verifiziert werden. Ein anderer wichtiger Anwendungsbereich ist die Programmoptimierung im Compilerbau.

In der Vorlesung werden insbesondere folgende Themen behandelt:

  • Datenflussanalyse (Fixpunkttheorie, Monotone Frameworks, Worklist-Algorithmus, Anwendungsbeispiele: Compilerbau, Java Bytecode Verifier)
  • Grundlagen der abstrakten Interpretation (Galois-Verbindungen, Sichere Approximation von Funktionen, Abstraktionsverfeinerung)
  • Model-Checking und/oder Typsysteme

Der Inhalt der Vorlesung wird im wesentlichen ähnlich zur Vorlesung im Wintersemester 2013/14 sein.

Bonusregelung

Es wird insgesamt sieben Übungsblätter geben, von denen drei Testatblätter sein werden. Man kann einen Bonus für die Prüfung erhalten, d.h. eine Notenaufwertung um eine Stufe (z.B. 2,3 auf 2,0), wenn man:

  • alle Testatblätter bearbeitet und abgibt,
  • insgesamt mindestens die Hälfte der Punkte in den Aufgaben erhält, und
  • eine Übungsaufgabe in den Übungen vorrechnet.

Tools

Folgende Werkzeuge werden in der Vorlesung eingesetzt:

  • PAG/WWW (Programmanalyse-Generator mit WWW-Interface)
  • jasmin (Assembler für Java-Bytecode) 

Termine

Vorlesung:

  • Di, 8:30–10 Uhr, LC 137
  • Do, 8:30-10 Uhr, LC 137

Übungen:

  • Di, 8:30-10 Uhr, LC 137

Die Übungen finden (nur) an den folgenden Terminen, anstelle der Vorlesung, statt:

30.10. / 11.11. / 25.11. / 16.12. / 13.01. / 27.01. / 10.02.

Die dazugehörigen Übungsblätter werden jeweils eine Woche vorher veröffentlicht.

Hinweise zu den Terminen:

Am 03.02. wird die Probeklausur vorgerechnet.

Am 05.02. findet eine Wiederholungsvorlesung statt.

Am 12.02. fällt die Vorlesung aus.

Klausur WS 2014/15

26.02.2015, 14 Uhr, LA 013

Aktuelles

Keine Artikel in dieser Ansicht.

© Universität Duisburg-Essen, Lehrstuhl Theoretische InformatikLogin