Schedule
Type | Day | Time | Place | Start | Lecturer |
V3 | Mo | 13:30-15:00 | AH II | October 10 | |
Tue | 14:00-15:30 | AH II | October 18 | ||
Ü2 | Wed | 15:45-17:15 | AH VI | October 26 |
Exam
- Second Exam solutions can be checked on 30th March in the seminar room of I2 between 15:00 and 16:00.
- Second Exam result is uploaded: please find your grades in this file
(same password as that for exercise solutions). - The second exam takes place in AH II on Friday, March 23 at 09:00-11:00.
- First Exam result is uploaded: please find your grades in this file
(same password as that for exercise solutions). - Exam inspection is possible on 22.02.2012 between 14:00 and 16:00 in the seminar room of I2.
- Sitting arrangement for the exam: from matriculation number 263000 - 294000 in AH I and from 294100 - 317000 in AH II.
- The exam takes place on February 8, 14:00-16:00 (AH1 and AH2). You are allowed to take the following materials to the exam: a (copy of the) book "Principles of Model Checking", a printout of the lecture slides, and a dictionary. That's all. So no exercises with solutions, or any hand-written material.
- A sample exam
along with its solution
(protected with the same password as that for exercise solutions) is provided to have a flavor of the exam.
News
- The second exam takes place in AH II on Friday, March 23 at 09:00-11:00.
- The lecture on January 31 and exercise session on February 1 will replace each other, i.e., exercise will occur at 14:00-15:30 in AHII on January 31 and lecture at 15:45-17:15 in AHVI on February 1.
- Solution for sheet 01 was updated! (Missing transitions in 3c and wrong statement in 3e.)
- We have begun to upload the presented solutions to the exercises. Please understand that the download has to be password protected. The login will be disseminated in the lecture and exercise class.
- Exercise sheet 9 is uploaded.
- Now onward the lectures that were scheduled in AH IV (13:15-14:45) will take place in AH II (13:30-15:00).
- There is no exercise session on 14th December.
- Exercise sheet 8 is uploaded. It is due on December 21. On December 14, another exercise sheet would be uploaded and both of them would be presented on December 21.
- The lectures on 28.11, 12.12 and 13.12 do not take place.
- (24.10) Due to a clash, the exam date was shifted to Wednesday, 8. Februar 2012, 14:00h in 2350|111 (AH II)
- (19.10) The first exercise sheet is online!
- The next lecture takes place on Monday 17 Oct
- The weekly lecture on Monday will take place in AH IV instead of 5052.
- Today (10.10.2011): Lecture takes place in room AH V.
- (27.09) Website created
Motivation
![]() | |
![]() | |
![]() |
In 2008, the ACM awarded the prestigious Turing Award - the Nobel Prize in Computer Science - to the pioneers of Model Checking: Ed Clarke, Allen Emerson, and Joseph Sifakis.
Why? Because model checking has evolved in the last twenty-five years into a widely used verification and debugging technique for both software and hardware.
It is used (and further developed) by companies and institutes such as IBM, Intel, NASA, Cadence, Microsoft, and Siemens, to mention a few, and has culminated in a series of mostly freely downloadable software tools that allow the automated verification of, for instance, C#-programs or combinational hardware circuits.
Subtle errors, for instance due to multi-threading, that remain undiscovered using simulation or peer reviewing can potentially be revealed using model checking. Model checking is thus an effective technique to expose potential design errors and improve software and hardware reliability.
Subtle errors, for instance due to multi-threading, that remain undiscovered using simulation or peer reviewing can potentially be revealed using model checking. Model checking is thus an effective technique to expose potential design errors and improve software and hardware reliability.
But how does it work, that is, what are its underlying principles?
That's exactly the focus of this lecture series!
We will show that model checking is based on well-known paradigms from automata theory, graph algorithms, logic, and data structures. Its complexity is analyzed using standard techniques from complexity theory.
Contents of the lecture
![]() |
Model checking is based on checking models. So, we first start by explaining what models are, and will make clear that so-called labeled transition systems, a model that is akin to automata, are suitable for modeling sequential, as well as multi-threading programs.
This is followed by a detailed study on various classes of system properties such as safety, liveness, and fairness. It will be shown how finite automata as well as variants thereof that accept infinite words are suitable for verifying regular properties.
The linear-time and branching time temporal logics LTL and CTL are then introduced and compared. Model checking algorithms for these logics together with detailed complexity considerations are covered.
Finally, abstraction techniques based on bisimulation and simulation relations are covered. These techniques are at key techniques to combat the state explosion problem.
Prerequisites
This course is suitable for Hauptdiplom, bachelor (this course is part of the "Wahlkatalog" in theoretical computer science), as well as master students.
We expect students to have some basic knowledge in:
- Automata Theory
- Mathematical Logic
- Discrete Mathematics
- Complexity Theory
- Algorithms and Data Structures
The course book (see below) will contain a summary of the issues in these areas that are relevant to this lecture series. We believe that this course is also well-suited for students in electrical engineeering and mathematics.
Follow-up courses
This course provides the basis for the follow-up courses:
Advanced Model Checking
Model Checking Labs
Moreover, it is related to courses such as:
Advanced Model Checking
Model Checking Labs
Moreover, it is related to courses such as:
- Semantics and Verification of Software
- Automata and Reactive Systems (i7)
- Automata on Infinite Words (i7)
- Formal Methods for Embedded Systems (i11)
There are thus plenty of opportunities to combine this course with others! We also regularly offer seminars that are based on model checking and offer various master and diplom theses on model checking and its applications.
Slides and exercise sheets
Date | Lecture | Subject | Slides | Exercises | Solution |
|---|---|---|---|---|---|
Oct 10 | 1 | Motivation, Background, and Course Organization | |||
Oct 17 | 2 | Modeling Parallel Systems | |||
Oct 18 | 3 | Parallelism and Communication | |||
Oct 24 | 4 | Parallelism and Communication II | |||
Oct 25 | 5 | Linear Time Properties | |||
Nov 7 | 6 | Invariants and Safety | |||
Nov 8 | 7 | Liveness and Fairness | |||
Nov 14 | 8 | Regular Properties | |||
Nov 15 | 9 | ω-regular Properties | |||
Nov 21 | 10 | Büchi Automata (see lecture 9 for slides) | |||
Nov 22 | 11 | Model Checking ω-regular Properties | |||
Nov 29 | 12 | Continue... | |||
Dec 5 | 13 | Linear Temporal Logic (LTL) | |||
Dec 6 | 14 | ||||
Dec 19 | 15 | LTL Model Checking | |||
Jan 9 | 16 | Continue... | |||
Jan 10 | 17 | Complexity of LTL Model Checking | |||
Jan 16 | 18 | Computation Tree Logic (CTL) | |||
Jan 17 | 19 | LTL versus CTL | |||
Jan 23 | 20 | CTL Model Checking | |||
Jan 24 | 21 | CTL Model Checking with fairness | |||
Jan 30 | 22 | CTL* and CTL+ | |||
1 Feb | 23 | Bisimulation |
Materials
![]() |
The lectures and all materials are in english. The slides will be made available via this webpage during the course.
The course is based on the recently published book:
An errata document to the book may be found here.
It is possible to buy a book (about 40 euros), but there is no need to do so as there are various copies of the book available at the CS library.
- E.M. Clarke, O. Grumberg, D.A. Peled: Model Checking, MIT Press, 1999
- M. Huth and M.D. Ryan: Logic in Computer Science - Modelling and Reasoning about Systems, Cambridge University Press, 2nd edition, 2004
- K. Schneider: Verification of Reactive Systems, Springer-Verlag, Texts in Theoretical Computer Science. An EATCS Series, 2004






