Stiftungsprofessur für zuverlässige Softwaresysteme in der Automobilindustrie

Entscheidungsverfahren mit Anwendungen in der Softwareverifikation

  • Typ: Vorlesung / Übung (VÜ)
  • Semester: WS 18/19
  • Ort:

    Seminarraum 236 (Di), Seminarraum 301 (Mi)

  • Zeit:

    Di 11:30 - 13:00 (Übung), Mi 15:45 - 17:15 (Vorlesung)

  • Beginn: 17.10.2018
  • Dozent: Markus Iser
    Prof. Dr. Carsten Sinz
  • SWS: 3
  • LVNr.: 2400073
  • Prüfung:

    mündlich, Termin nach Vereinbarung

Entscheidungsverfahren sind Algorithmen, die für ein gegebenes Problem immer eine korrekte Ja/Nein-Antwort liefern. Sie spielen in der Softwareverifikation eine entscheidende Rolle, da sich mit ihrer Hilfe eine Vielzahl von Korrektheitseigenschaften (z.B. in Bezug auf Speicherzugriffsfehler, Überläufe oder funktionale Eigenschaften) überprüfen und vollautomatisch beweisen lassen. Die Vorlesung stellt eine Reihe von logischen Entscheidungsverfahren und ihre Anwendung in der automatischen Programmverifikation vor.

Themen sind unter anderem:

  • SAT-Solving, DPLL
  • DPLL(T)
  • Gleichheit mit uninterpretierten Funktionen, Kongruenzabschluß
  • Lineare Arithmetik ganzer Zahlen
  • Bitvektoren und Machinenarithmetik
  • Arrays
  • Quantoren, Quantorenelimination
  • Software Bounded Model Checking
  • Symbolic Execution
  • Predicate Abstraction
  • Werkzeuge: LLBMC, KLEE, SatAbs

 

Vorlesungsfolien

 

Übungsblätter