Bild mit Unilogo
homeicon uni sucheicon suche siteicon sitemap kontakticon kontakt impressicon impressum
unilogo Universität Stuttgart 
Institut für Formale Methoden der Informatik

SZS - Vorlesung Grundlagen der Softwarezuverlässigkeit (WS 2009/10)

 

Dozent: Dirk Nowotka
Zeit und Ort: Mo 09:45-11:15 im Raum V38.04
Do 11:30-13:00 (14-tägig) im Raum V38.02
Montagstermine 2009: 19.10., 26.10., 2.11., 9.11., 16.11., 23.11., 30.11., 7.12., 14.12., 21.12.
Donnerstagstermine 2009: 22.10., 5.11., 19.11., 03.12., 17.12.
Montagstermine 2010: 11.01., 18.01., 25.01., 01.02., 08.02., 15.02.
Donnerstagstermine 2010: 14.01., 28.01., 11.02.
Übungen: Do 11:30-13:00 (14-tägig) im Raum V38.02
Hörerkreis: Studenten im Hauptstudium der Diplomstudiengänge Informatik und Softwaretechnik
Inhalt: Entwickler im industriellen Bereich sind zwischen 50% und 70% der Zeit mit der Fehlererkennung und Fehlerkorrektur im neuen Code beschäftigt. Trotz dieses Aufwands ist die mangelnde Zuverlässigkeit vom Code eines der größten Probleme der Softwareindustrie. Wie Robert X. Cringely sagte: ``If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside''.

Zunächst werden Testing-Techniken präsentiert. Begriffe und Verfahren für systematisches Testen werden eingeführt: inspections, walkthroughs, control-flow coverage, data-flow coverage, black-box und white-box testing, test suites, conformance testing. Im zweiten Teil der Vorlesung werden Model-Checking-Verfahren für die automatische Programmverifikation behandelt. Zunächst wird die Problematik der Programmmodellierung erklärt und die temporale Logik CTL als formale Spezifikationssprache präsentiert. Anschließend werden enumerative und symbolische Model-Checking-Algorithmen beschrieben. Der dritte und letzte Teil der Vorlesung ist der Datenflussanalyse gewidmet. Die zugrundeliegende Theorie der Abstrakten Interpretation wird beschrieben, ebenso wie Anwendungen in den Bereichen Zuverlässigkeit und Code-Optimierung.

Übungen:
Folien: [PDF] (von Prof. Esparza)