Advanced Model Checking

Graduate course - Summer Term 09

Lehrstuhl für Informatik 2


Schedule

Type

Time

Place

Start

Lecturer

V4

Mi 10:00 - 11:30

AH6

15.4.2009

Fri 8:15 - 9:45

5056

Ü2

Mo 10:00 - 11:30 

AH2

27.4.2009


News

Please follow us on twitter (www.twitter.com/amc_rwth) for news, changes in slides or exercises, etc.


Motivation and background

This course is concerned with model checking, an automated technique  to verify properties of hardware and software systems.  Whereas the focus of the course Model Checking is on the  elementary techniques of model checking, this course is focused on two main topics: advancing current model-checking technology, and, on  the other hand, model-checking techniques for quantitative system aspects.

More concretely, the course will -–after a summary of the main model-checking techniques for LTL and CTL-– treat state space reduction techniques.  This ranges from algorithms to minimise state-space  representations using equivalences and pre-orders (bisimulations and simulation relations), techniques to avoid representing all possible  interleaving of concurrent components (partial-order reduction) and data structures for the succinct representation of state spaces  (e.g., binary decision diagrams).

In the second part of the course, models and algorithms are treated  for the verification of timed properties, such as ``is it possible that the system will crash within 30 seconds'', and properties that  involve random phenomena (e.g., ``the probability to reach a bad state within 44 minutes is below 0.0001'').  Models such as timed automata, their infinite-state semantics, and finite abstractions thereof will be treated.  This is complemented by a treatment of algorithms for checking timed CTL.  This results in an effective framework that is used for checking real-time properties of embedded systems, communication protocols, and so on.

Probabilistic models are the key to model random phenomena as they occur in distributed algorithms that use randomisation to break the symmetry between processes, or to reason about quality of service parameters such as dependability, performance, and survivability.  This course will deal with the basic algorithms and logics for verifying properties of fully probabilistic models such as Markov chains, and (if time permits) models that also exhibit nondeterminism (Markov decision processes).

 

The lecture will be given in English.
All course material (i.e., lecture notes and slides) will be in English.


Contents

  • Summary of LTL and CTL model checking
  • Equivalences and abstraction
  • Partial-order reduction techniques
  • Binary decision diagrams
  • Timed automata
  • Model checking timed CTL
  • Probabilistic systems
  • Model checking probabilistic CTL


Prerequisites

Basic knowledge of automata theory, complexity theory, and data structures and algorithms.  The course is a follow-up course of Model Checking.  It is highly recommended to have basic knowledge of model checking, although this is not mandatory.


ECTS Credits

The student will be awarded 8 ECTS credits for the lecture after passing the final exam.


Exercises

  • Exercises can be worked on in groups of at most two students.
  • To achieve a certificate to this course or to be admitted to the final exam, at least half of the exercises has to be reasonably dealt.
  • The exercise sheets will be issued weekly.


Lecture Slides

All slides and exercise sheets will be made available here.

 


Date

Lecture

Subject

Slides

Exercise Sheet

Solution

April 15

1

Introduction


April 17

2

Bisimulation minimization

April 22

3+4

Simulation quotienting

April 29

5

Stutter trace and bisimulation equivalence

May 6

6

Stutter bisimulation quotienting

May 8

7

Partial order reduction

May 15

8

Ample set conditions

May 20

9

On-the-fly partial order reduction

May 27

9b

On-the-fly partial order reduction

May 27

10

Symbolic CTL model checking

 

 

May 29

11

Reduced ordered binary decision diagrams

June 17

12

ROBDD-based algorithms


June 19

13

Timed automata

June 24

14

Time divergence, timelock, and zenoness

June 26

15

Timed CTL

July 1

16

Timed CTL model checking

July 3

17

Zone-based reachability analysis

July 8

18

Difference bound matrices

July 10

19

Probabilistic Reachability in Markov Chains

July 15

20

Qualitative Properties in Markov Chains

July 17

21

Probabilistic Computation Tree Logic

July 22

22

Reachability in Markov Decision Processes

The solutions will be accessible with the credentials given in the first exercise class.


Literature


The course is based on the recently published book:

 

Principles of Model Checking
by Christel Baier and Joost-Pieter Katoen.

 

An errata document to the book may be found here. The errata document will change during the semester. 


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.

 

Additional literature can be found in:

  • J. Rutten, M. Kwiatkowska, G. Norman and D. Parker: Mathematical Techniques for Analyzing Concurrent and Probabilistic Systems, Volume 23 of CRM Monograph Series. American Mathematical Society, P. Panangaden and F. van Breugel (eds.), March 2004.
  • 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
  • J.-P. Katoen: Concepts, Algorithms and Tools for Model Checking, Erlangen: Institut für Mathematische Maschinen und Datenverarbeitung, 1999
  • E.M. Clarke, O. Grumberg, D.A. Peled: Model Checking, MIT Press, 1999
  • K.L. McMillan: Symbolic Model Checking, Kluwer Academic, 1993


Links