Modul
Entscheidungsverfahren mit Anwendungen in der Softwareverifikation [M-INFO-104381]
Leistungspunkte
5Turnus
Jedes WintersemesterDauer
1 SemesterSprache
Deutsch/EnglischLevel
4Version
1Verantwortung
Einrichtung
- KIT-Fakultät für Informatik
Bestandteil von
Teilleistungen
Identifier | Name | LP |
---|---|---|
T-INFO-108955 | Entscheidungsverfahren mit Anwendungen in der Softwareverifikation | 5 |
Erfolgskontrolle(n)
Siehe Teilleistung.
Qualifikationsziele
Die Studierenden können Korrektheits-Eigenschaften von Software mittels verschiedener Logiken beschreiben. Sie kennen eine repräsentative Auswahl logischer Entscheidungsverfahren und können diese anwenden. Sie verstehen deren theoretische Grundlagen, praktische Eigenschaften und Grenzen und können diese für eigene Weiterentwicklungen einsetzen sowie deren Praxiseinsatz beurteilen.
Die Studierenden sind qualifiziert, zuverlässige Software-basierte Systeme zu entwickeln, die Qualität bestehender Systeme einzuschätzen und deren Qualität zu verbessern.
Die Studierenden sind qualifiziert, neue theoretische und praktische Verfahren, basierend auf den gelernten, zu entwickeln.
Voraussetzungen
Siehe Teilleistung.
Inhalt
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
Empfehlungen
Der erfolgreiche Abschluss des Moduls Formale Systeme [M-INFO-100799] wird empfohlen.
Arbeitsaufwand
2 SWS Vorlesung + 1 SWS Übungen
(Vor- und Nachbereitungszeiten: 4h/Woche für Vorlesung plus 2h/Woche für Übungen; Prüfungsvorbereitung: 15h)
Gesamtaufwand:
(2 SWS + 1 SWS + 4 SWS + 2 SWS) x 15h + 15h Prüfungsvorbereitung = 9x15h + 15h = 150h = 5 ECTS