Curriculum M1 MPRI at ENS Paris-Saclay
IVER: Introduction to Verification
Description: The course provides an introduction to model-checking techniques used to verify the reliability of critical systems. It begins with the modeling of discrete-event systems—transition systems augmented with data structures for communication (variables, messages) and various synchronization methods. Next, we examine temporal logics (linear and branching-time) for expressing properties to be verified, specifically LTL, CTL, and CTL*. We study their expressiveness, decidability, and the complexity of associated problems.
The second part of the course focuses on advanced methods to address the state-space explosion problem. In particular, we cover Binary Decision Diagrams (BDDs), partial-order reduction, and counterexample-guided abstraction refinement, as well as the concepts of simulation and bisimulation. While the majority of the course deals with the verification of finite-state systems, we also introduce model checking for infinite-state systems by studying Petri nets and pushdown automata.
Summary:
- Modeling (transition systems, variables, channels, synchronization)
- Linear and branching logics, expressiveness
- Büchi automata, LTL translation
- Model-checking algorithms for CTL, bisimulation
- Emptiness testing for Büchi automata, on-the-fly model checking
- Partial-order reduction, application to LTL
- Binary Decision Diagrams (BDDs), application to CTL
- Verification of pushdown automata
- Petri nets (bounded and unbounded)
- Abstraction and refinement
References:
- Christel Baier and Joost-Pieter Katoen. Principles of Model Checking, MIT Press 2008
- Web site of instructors ...