Seminar Modellbasierte Software-Verifikation: Grundlagen und industrielle Praxis

Arbeitsbereich Technische Informatik
Dozent Prof. Thomas Kropf mit Dr. Jürgen Ruf und Mitarbeitern
Umfang 2 SWS / 4 LP
Bereiche Diplom, Master und Bachelor (empfohlenes Semester: 6ff)
Prüfungsfächer Technische Informatik
Raum Seminarraum 2 F118
Vorbesprechung Donnerstag, 17 April 2008, 17:00 c.t., Sand 13 - A302
Termine Blockveranstaltung, Do. 17. Juli 2008, 17:00 c.t., Raum A104
Sprechstunde nach Vereinbarung
Kontakt/Anmeldung behrend(at)informatik.uni-tuebingen(dot)de
Eintrag im LSF Seminar

Beschreibung

Zuverlässigkeit, Sicherheit, Korrektheit und Robustheit von Software werden immer wichtiger. Immer wieder treten Fehler auf, darunter auch kritische, die auf gedanklich-logische Irrtümer in Spezifikation und Implementierung der Software zurückzuführen sind. Dabei spielen Compiler und Systemsoftware eine ebenso wichtige Rolle wie die verwendeten Softwaretechniken und Programmiersprachen. Zur Vermeidung von Fehlern werden die verwendeten Sprachen oft in den erlaubten Sprachkonstrukten eingeschränkt, um z.B. dynamische Fehlfunktionen (Speicherüberläufe, Speicherlecks u.ä.) zu verhindern, aber auch, um die Analyse und Verifikation zu vereinfachen.
Die Verifikations-Techniken reichen dabei von der statischen Analyse der Programme und deren  Spezifikation bis hin zu Kombinationen aus maschinellen Beweissystemen und Model-Checkern. Neben Fehlervermeidung ist auch Fehlertoleranz (z.B. durch Redundanz, Mehrfachauslegung) für Software ein interessanter Ansatz. Dazu werden Techniken, wie Laufzeitprüfung, Beobachterprozesse, Monitoring, Konsistenzprüfung eingesetzt.
Mehr und mehr stehen Qualitätsprüfung und die Garantie zur Einhaltung von Eigenschaften bei Software im Vordergrund. Ein Beispiel wäre z.B. die Zertifizierung sicherheitsrelevanter Systeme. In diesem Zusammenhang sind auch Bibliotheken, Werkzeuge, Compiler, Systemkomponenten und Fremdsoftware von Bedeutung, für die die Hersteller ebenfalls verantwortlich sind. Die Beherrschung dieser komplexen Zusammenhänge ist nicht nur für Systeme relevant, von denen Gefahr für Leib und Leben von Menschen ausgeht, sondern auch bei wirtschaftlichem Gefahrenpotential Software-basierter Systeme, z.B. im Bereich der Security.

Ziel dieses Seminars ist es einen Einblick in die Theorie der Software-Verifikation und die aktuellen, in der Forschung entwickelten, Tools zu geben, ohne den Fokus auf die heute eingesetzten industriellen Methoden zu verlieren.

Die Dozenten haben einschlägige Erfahrungen im Entwurf und der Verifikation von Systemen im industriellen Umfeld.

Vorträge
Thema Vortragender Download Folien (PDF) Download Ausarbeitung (PDF)
Butterfield, Woodcock: Formalising Flash Memory: First Steps Harbarth, Daniel    
Leroy: "Formal Certification of a Compiler Back-end" Walch, Martin    
Weber: Towards Mechanized Program Verification with Separation Logic Kübler, Andreas    

Themen

Die Themen können hier eingesehen werden.

Randbedingungen

Randbedingungen für Ausarbeitung und Vorbereitung befinden sich hier (wichtig! Bitte Lesen!!).