Die hier angezeigten Termine und Veranstaltungen werden dynamisch aus Stud.IP heraus angezeigt.

Daher kontaktieren Sie bei Fragen bitte direkt die Person, die unter dem Punkt Lehrende/Dozierende steht.

Veranstaltung

Semester: Wintersemester 2024

2.01.489 Automated Program Verification -  


Veranstaltungstermin | Raum

  • Dienstag, 15.10.2024 10:00 - 12:00 | A01 0-008
  • Donnerstag, 17.10.2024 10:00 - 12:00 | A01 0-006
  • Dienstag, 22.10.2024 10:00 - 12:00 | A01 0-008
  • Donnerstag, 24.10.2024 10:00 - 12:00 | A01 0-006
  • Dienstag, 29.10.2024 10:00 - 12:00 | A01 0-008
  • Dienstag, 5.11.2024 10:00 - 12:00 | A01 0-008
  • Dienstag, 12.11.2024 10:00 - 12:00 | A01 0-008
  • Donnerstag, 14.11.2024 10:00 - 12:00 | A01 0-006
  • Dienstag, 19.11.2024 10:00 - 12:00 | A01 0-008
  • Donnerstag, 21.11.2024 10:00 - 12:00 | A01 0-006
  • Dienstag, 26.11.2024 10:00 - 12:00 | A01 0-008
  • Donnerstag, 28.11.2024 10:00 - 12:00 | A01 0-006
  • Dienstag, 3.12.2024 10:00 - 12:00 | A01 0-008
  • Donnerstag, 5.12.2024 10:00 - 12:00 | A01 0-006
  • Dienstag, 10.12.2024 10:00 - 12:00 | A01 0-008
  • Donnerstag, 12.12.2024 10:00 - 12:00 | A01 0-006
  • Dienstag, 17.12.2024 10:00 - 12:00 | A01 0-008
  • Donnerstag, 19.12.2024 10:00 - 12:00 | A01 0-006
  • Dienstag, 7.1.2025 10:00 - 12:00 | A01 0-008
  • Donnerstag, 9.1.2025 10:00 - 12:00 | A01 0-006
  • Dienstag, 14.1.2025 10:00 - 12:00 | A01 0-008
  • Donnerstag, 16.1.2025 10:00 - 12:00 | A01 0-006
  • Dienstag, 21.1.2025 10:00 - 12:00 | A01 0-008
  • Donnerstag, 23.1.2025 10:00 - 12:00 | A01 0-006
  • Dienstag, 28.1.2025 10:00 - 12:00 | A01 0-008
  • Donnerstag, 30.1.2025 10:00 - 12:00 | A01 0-006

Beschreibung

This course offers a hands-on introduction to the usage, construction, and theory of automated deductive program verifiers. Students should acquire the skills to apply and extend tool-supported methodologies for developing proven-correct software. The course will intermix theoretical content with hands-on experience.

# Content
The course covers reasoning principles, technologies, and engineering aspects underlying automated deductive verification tools. In particular, it introduces
1. program logics for writing formal correctness proofs (for example weakest preconditions and separation logic);
2. SMT solvers (for example Z3) for automating reasoning about logical formulas;
3. intermediate verification languages (for example Viper) for encoding verification methodologies; and
4. source code verifiers for handling feature-rich programming languages.

# Learning objectives
A student who has met the objectives of the course will be able to:
  • specify functional correctness properties of imperative programs;
  • use automated verification tools to develop formally verified software;
  • justify why a program meets its specification based on sound reasoning principles;
  • explain the technology stack involved in building automated verification tools;
  • compare deductive program verification to other methods aiming at increasing confidence in software correctness;
  • encode verification-related decision problems to SMT (satisfiability modulo theories);
  • identify potential bottlenecks in existing SMT encodings; and
  • construct methodologies for program verification problems and justify the involved design decisions.

# Literature
All relevant material (lecture notes, slides, videos, exercises, etc.) will be made available online.

lecturer

SWS
2

Lehrsprache
deutsch und englisch

(Stand: 20.06.2024)  | 
Zum Seitananfang scrollen Scroll to the top of the page