Model Checking and Systems Verification

Instructors:   M. K. Srivas and B. Srivathsan

January - April 2018


Hours

Lectures Mon   14:00 - 15:30 Lecture Hall 804
Thu   14:00 - 15:15 Lecture Hall 804




References

[1] Principles of Model Checking by Christel Baier and Joost-Pieter Katoen (MIT Press 2008)


Additional references and links

[1] NuSMV web page

[2] A nice talk by Leslie Lamport: Thinking for Programmers


Practice Problems

Tutorial 1     Solutions    

Tutorial 2     Solutions

Tutorial 3     Solutions

Tutorial 4     Solutions

Lecture Slides



Part 1: Automata theoretic approach to model checking (Instructor: Srivathsan)
Lecture 1
(04. 01. 2018)
Course overview, Modeling code behaviour as transition systems
Course Overview
Link to F. Herbreteau/Igor Walukiewicz's slides (for reference)
Link to Yogananda Jeppu's slides (for reference)
Slides on modeling code behaviour (Modules 1 - 3)
Chapter 1 of [1]
Lecture 2
(08. 01. 2018)
Modeling concurrent systems
Introduction to NuSMV
Slides (Module 4)
Slides for NuSMV
NuSMV Demo files
Lecture 3
(11. 01. 2018)
Continuation of NuSMV
Formalizing the notion of "properties of a system"
Slides (from Slide 22 -)
Slides
NuSMV Demo files
Lecture 4
(15. 01. 2018)
Classification of Linear time properties
A particular class: regular properties
Slides
Slides
Lecture 5
(18. 01. 2018)
Büchi automata; Closure properties, deterministic vs non-deterministic Büchi automata
Slides (Modules 1 - 3)
Lecture 6
(22. 01. 2018)
Omega regular properties
Slides (Modules 4 and 5)
Lecture 7
(25. 01. 2018)
Complementing Büchi automata
Section 2 of Prof Kumar's Notes
Lecture 8
(29. 01. 2018)
Linear Temporal Logic
Slides
Lecture 9
(01. 02. 2018)
Converting LTL to NBA
Slides
Lecture 10
(05. 02. 2018)
Computation Tree Logics CTL, CTL*; comparison with LTL
Slides
Lecture 11
(12. 02. 2018)
Algorithms for CTL
Slides