InfoCoBuild

Model Checking

Model Checking. Instructor: Prof. B. Srivathsan, Department of Computer Science, Chennai Mathematical Institute. Embedded software controls many of the safety-critical systems that we deal with in everyday life: for instance, modern cars are equipped with software to automatically change gears; pacemakers come with a software controller to regulate heart beat; aircrafts have flight control software, and so on. Typically, these (software) controllers have to make decisions based on inputs coming from multiple interacting components. As the size and the number of interacting components increase, the design and verification of controllers becomes increasingly complex. Model checking is a field of research that addresses this challenge by making use of mathematical models in the design and verification of controllers. The main idea is to look at the system as a mathematical model - commonly used models are extensions of finite-state machines. Design requirements on the controller then get translated to suitable questions on these mathematical models. The goal of this course is to understand some of the techniques and tools used in the process of model-checking. (from nptel.ac.in)

Course Overview


Introduction to Model Checking
Lecture 01 - Course Overview
Lecture 02 - Modeling Code Behaviour
Lecture 03 - Modeling Hardware Circuits
Lecture 04 - Modeling Data-dependent Programs
Lecture 05 - Modeling Concurrent Systems
Lecture 06 - Summary
Model Checker NuSMV
Lecture 07 - Model Checking Tools
Lecture 08 - Simple Models in NuSMV
Lecture 09 - Hardware Verification using NuSMV
Lecture 10 - Modeling Concurrent Systems in NuSMV
Lecture 11 - Summary
Linear-time Properties
Lecture 12 - A Problem in Concurrency
Lecture 13 - What is a Property?
Lecture 14 - Invariants
Lecture 15 - Safety Properties
Lecture 16 - Liveness Properties
Lecture 17 - Summary
Regular Properties
Lecture 18 - Road Map
Lecture 19 - A Gentle Introduction to Automata
Lecture 20 - Simple Properties of Finite Automata
Lecture 21 - Safety Properties Described by Automata
Lecture 22 - Summary
Omega-Regular Properties
Lecture 23 - Specifying Properties
Lecture 24 - Omega-Regular Expressions
Lecture 25 - Bchi Automata
Lecture 26 - Simple Properties of Bchi Automata
Lecture 27 - Summary
Model-Checking Omega-Regular Properties
Lecture 28 - Overview
Lecture 29 - Omega-Regular Expressions to NBA
Lecture 30 - Checking Expressions of NBA
Lecture 31 - Generalized NBA
Lecture 32 - Summary
Linear Temporal Logic
Lecture 33 - Introduction to LTL
Lecture 34 - Semantics of LTL
Lecture 35 - A Puzzle
Lecture 36 - Summary
Algorithms for LTL
Lecture 37 - Automata based LTL Model-Checking
Lecture 38 - LTL to NBA
Lecture 39 - Automation Construction
Lecture 40 - Summary
Computation Tree Logic
Lecture 41 - Tree View of a Transition System
Lecture 42 - CTL*
Lecture 43 - CTL
Lecture 44 - Summary
Algorithms for CTL
Lecture 45 - Adequate CTL Formulae
Lecture 46 - EX, EU, EG
Lecture 47 - Final Algorithm
Lecture 48 - State-space Explosion
Lecture 49 - Summary
Binary Decision Diagrams (BDDs)
Lecture 50 - Introduction to BDDs
Lecture 51 - Ordered BDDs
Lecture 52 - Representing Transition Systems as OBDDs
Lecture 53 - Summary
Modeling Timing Constraints
Lecture 54 - Timed Transition Systems
Lecture 55 - Concluding Remarks

References
Model Checking
Instructor: Prof. B. Srivathsan, Department of Computer Science, Chennai Mathematical Institute. The goal of this course is to understand some of the techniques and tools used in the process of model-checking.