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.

 

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

Tuesday, September 29

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]

Wednesday, September 30

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]

Thursday, October 1

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]

Friday, October 2

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]

Thursday, October 8 

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]

Friday, October 9

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)

€ 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

Name:
Affiliation:
Town:
Email:
Phone:
Education:Master student
PhD student
other
Other:
Accommodation:
Single or double room:
Accommodation 28.09:
Accommodation 29.09:
Accommodation 30.09:
Accommodation 01.10:
Accommodation 07.10:
Accommodation 08.10:

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.