Attention: The lecture will NOT take place in summer term 2020!
After successful completion of the course, students are able to...
- make use of basic methods of computability theory in order to identify, for instance, undecidable problems
- apply formal methods from complexity theory to new problems in order to prove their tractability or NP-hardness,
- represent problems in the area of formal methods as satisfiability problems, to solve these problems with a SAT solver, and to formally argue the correctness of all involved techniques and reductions,
- formally establish partial and total correctness of software systems, by using deductive verification approaches based on Hoare logic and predicate transformers. Students will also be able to formulate program semantics and prove program properties algorithmically,
- understand and apply the basic techniques of model checking: encoding specifications in temporal logic, reasoning about temporal logic formulae, model checking of temporal logic formulae on Kripke structures, using state space reduction techniques, and applying bounded model checking for verification tasks.
Introduction to complexity theory: problem reductions, P versus NP, undecidability; SAT solving and its applications in computer science; introduction to the formal semantics of programming languages; formal verification of programs; model checking and its applications in hard- and software verification.
Die LVA is in 4 Themenblöcke unterteilt. Die LVA (und daher jeder Block) besteht aus einem Vorlesungs- und Vertiefungsteil.
Der Stoff der Lehrveranstaltung wird in den Vorlesungseinheiten präsentiert
Der Vertiefungsteil inkludiert zwei zusätzliche Lehreinheiten, die der Diskussion und dem Lösen von Übungsaufgaben dienen. Studierende erhalten für jeden Themenblock eine Übungssammlung. Ihre Lösungen werden korrigiert um Feedback zu geben.
Drei weitere Einheiten dienen einer Wiederholung grundlegender Techniken zur Beweisführung.
Ects breakdown
2 h introduction (first meeting)
60 h lecture (20 dates à 2h + 1h preparation)
40 h exercise sheets (4 sheets, 10 exercises/sheet, 1h/exercise)
16 h discussion of exercises (8 dates à 2h)
30 h preparation for written exam
2 h written exam
-----------------------------------------------------------
150 h = 6 Ects