Automated System Verification (2019/2020)

Course code
Name of lecturer
Andrea Masini
Andrea Masini
Number of ECTS credits allocated
Academic sector
Language of instruction
II semestre dal Mar 2, 2020 al Jun 12, 2020.

Lesson timetable

Go to lesson schedule

Learning outcomes

The course aims to provide the theoretical basis of the main techniques of specification and verification of finite-state systems. In particular, with reference to transition systems, trace-based techniques, linear time logic and branched-time logic. At the end of the course the student will have to demonstrate that he has acquired the knowledge necessary to formally reason on finite-state systems, with emphasis on the problems of correctness solved automatically (model-checking), through logical operational methods (traces) (temporal logics) and algorithms. This knowledge will enable the student to: i) specify and formally test properties of correctness of simple systems presented as transition systems; ii) use time logics (linear and branched) for the specification of properties; iii) master semantic methods for temporal logics. At the end of the course the student will be able to: i) compare temporal logics for the automatic verification and choose from these the most appropriate according to the context of use; when defining a verification process make the most appropriate design choices; ii) continue the studies independently in the context of formal verification.


System Verification:
the model checking approach
Modelling Concurrent Systems:
transition Systems,
parallelism and communication,
state-space xplosion 
Linear-Time Properties:
safety and invariants,
Linear Temporal Logic:
model checking
Computation Tree Logic:
expressiveness of CTL vs. LTL,
symbolic model checking,
Equivalences and Abstraction:
bisimulation ,
bisimulation and CTL∗ equivalence

Reference books
Author Title Publisher Year ISBN Note
Christel Baier and Joost-Pieter Katoen Principles of Model Checking MIT press 2008

Assessment methods and criteria

Written exam (one and a half hours to perform the task).
In order to pass the exam, the student must have sufficient knowledge of all the topics (including the proofs of the theorems) and the ability to solve exercises similar to those seen during the lessons.
Better is the knowledge of course topics, better is the result of exam.