![]() | 6-Day Course on Principles of Model Checking | ![]() |
|---|---|---|
![]() | University of Twente, Enschede September 29 – October 2, and October 8+9, 2009 | ![]() |
Contents
A prominent verification technique that has emerged in the last thirty years is model checking, that systematically checks whether a model of a given system satisfies a property such as deadlock freedom, invariants, or request-response. This automated technique for verification and debugging has developed into a mature and widely-used industrial approach with many applications in software and hardware.
This course provides an introduction to the theory of model checking and its theoretical complexity. We introduce transition systems, safety, liveness and fairness properties, as well as omega-regular automata. We then cover the temporal logics LTL, CTL and CTL*, compare them, and treat their model-checking algorithms. Techniques to combat the state-space explosion problem are at the heart of the success of model checking. We provide an overview of an important class of such techniques, namely abstraction. Finally, we consider model checking of timed automata and of probabilistic automata. The course consists of lectures and active involvement in exercise classes.
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 6 day course!
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.
Prerequisites
Basic knowledge of algorithms and data structures, complexity theory, and mathematical logic at bachelor level.
Course planning
09:00-10:30 | Transition systems & Linear-time properties (Ch. 2+3) [room LA A118] | ||
10:30-11:00 | Coffee Break | ||
11:00-12:30 | Exercises [room LA A118] | ||
13:30-15:00 | Verification of regular linear time properties (Ch. 4) [room LA A118] | ||
15:00-15:30 | Coffee Break | ||
15:30-17:00 | Exercises [room LA A118] |
09:00-10:30 | Linear Temporal Logic (Ch. 5) [room LA 1812] | ||
10:30-11:00 | Coffee break | ||
11:00-12:30 | Exercises [room LA 1812] | ||
13:30-15:00 | Computation Tree Logic (Ch. 6) [room LA 1812] | ||
15:00-15:30 | Coffee break | ||
15:30-17:00 | Exercises [room LA 1812] |
09:00-10:30
| Abstraction I (Ch. 7) [room Cu C238] | ||
10:30-11:00 | Coffee break | ||
11:00-12:30 | Exercises [room Cu C238] | ||
13:30-15:00 | Abstraction II (Ch. 7) [room Cu C238] | ||
15:00-15:30 | Coffee break | ||
15:30-17:00 | Exercises [room Cu C238] |
09:00-10:30 | Partial-order reduction (Ch. 8) [room Cu C238] | ||
10:30-11:00 | Coffee break | ||
11:00-12:30 | Exercises [room Cu C238] |
09:00-10:30 | Verifying timed automata (Ch. 9) [room Cu C238] | ||
10:30-11:00 | Coffee Break | ||
11:00-12:30 | Exercises [room Cu C238] | ||
13:30-15:00 | Zone-based abstraction and DBMs [room Cu C238] | ||
15:00-15:30 | Coffee break | ||
15:30-17:00 | Exercises [room Cu C238] |
09:00-10:30 | Verifying probabilistic systems (Ch. 10) [room Cu C238] | ||
10:30-11:00 | Coffee break | ||
11:00-12:30 | Exercises [room Cu C238] | ||
13:30-15:00 | Verifying probabilistic systems (Ch. 10) [room LA A118] | ||
15:00-15:30 | Coffee break | ||
15:30-17:00 | Exercises [room LA A118] |
A overview of the buildings at the University of Twente can be found here.
Locations: LA = building Langezijds (building 17 on the map), Cu = building Cubicus (building 41 on the map)
Course material
Date | Lecture | Slides | Lecture | Slides |
|---|---|---|---|---|
September 29 | Transition systems & Linear-time properties | Verification of regular linear time properties | ||
September 30 | Linear Temporal Logic | Computation Tree Logic | ||
October 1 | Abstraction I | Abstraction II | ||
October 2 | Partial-order reduction | |||
October 8 | Verifying timed automata | Zone-based abstraction and DBMs | ||
October 9 | Verifying probabilistic systems I | Verifying probabilistic systems II |
About the lecturer
Joost-Pieter Katoen is a professor at the RWTH Aachen University (since 2004) and is associated to the University of Twente. He received his PhD in 1996 on a dissertation on true concurrency semantics. His research interests are concurrency theory, model checking, timed and probabilistic systems, and semantics. He co-authored more than 120 journal and conference papers, and recently a comprehensive book (with Christel Baier) on “Principles of Model Checking” (MIT Press) which provides the basis for this course.
Accommodation
We have made some block bookings with the following hotels/pensions: (all indicated rates include breakfast)
- “De Drienerburght”, located on the UT campus
€ 65,60 for a single room, and € 75 for a double room
(note: these prices will slightly increase from September 1 on)
- “Logica” is fully booked now. Please choose a different accommodation.
€ 42,00 for a single room and € 63,50 for a double room
- “De Broeierd”, located within walking distance of the UT campus
€ 107 for a single room and € 122 for a double room.
These rates are lower than the rates that typically are obtained when booking directly.
You can indicate on the registration form your needs and preferences concerning accommodation.
Registration
Registration is free, but you need to register using the form below. Registration does not include coffee breaks and lunches. Course slides will be made available via this webpage.
It is convenient if participants have a copy of the book “Principles of Model Checking” at their disposal. (The costs are 48 euro for a book of 975 pages, see www.amazon.de.) We will, however, also have some copies of the book available for usage during the course.
Please complete your registration before September 15!
Online Registration Form
Course assistants
The following persons will assist during the exercise classes:
- Taolue Chen, UT
- Tingting Han, UT/RWTH Aachen and
- Martin Neuhäußer, UT/RWTH Aachen.







