Symbolic Model Checking
A Hands-On Introduction
- ESSLLI 2002 - Trento - 5-9 August, 2002 -
Alessandro CIMATTI and
Marco PISTORE
ITC-IRST
Via Sommarive 18, 39055 Povo (TN) - Italy
{cimatti,pistore}@irst.itc.it
Description
Model Checking is a formal technique for the verification of
finite-state concurrent systems. Symbolic Model Checking is a
particular form of Model Checking that allows to analyze extremely
large finite-state systems by means of symbolic representation
techniques (e.g. Binary Decision Diagrams, propositional
satisfiability). Symbolic model checkers such as SMV and VIS have been
used to verify industrial systems, ranging from hardware to
communication protocols to safety critical plants and
procedures. Symbolic Model Checking is applied in technology transfer
projects, and is the core technique for several industrial
verification tools.
The aim of the course is to provide a basic understanding of the
theory and of the practical techniques of Symbolic Model Checking.
Following the successful experiment of the Floc'99 Model
Checking Tutorial, the course combines theoretical and practical
sessions. During the practical sessions, the participants will be
confronted with a symbolic model checker and a set of problems, and
will therefore acquire a hands-on experience.
The examples and notations used in the practical sessions, and the
exercises proposed in the practical sections will be based on NuSMV, a model checker that
provides (BDD-based and SAT-based) symbolic verification techniques.
The course will give an introduction to SMV (the input language of
NuSMV) and to the basic functionalities of NuSMV, so that the
partcipants will be able to carry out simple simple design and
verification tasks.
The course covers the following topics:
- background on the theory and on the applications of Model
Checking
- theoretical aspects and algorithmic techniques of (BDD-based and
SAT-based) Symbolic Model Checking
- an introcution on NuSMV and on the SMV language
- working sessions using NuSMV
- advanced topics on Symbolic Model Checking, (e.g., synthesis
techniques)
The gNuSMV program
A pre-release of gNuSMV can be found
here.
NuSMV Manuals
Slides
LESSON 1 - Monday (Theory)
LESSON 2 - Tuesday (Hands-on)
LESSON 3 - Wednesday (Theory)
LESSONS 4 and 5 - Thursday and Friday (Hands-on)