YoVDO

Automated Reasoning: Symbolic Model Checking

Offered By: EIT Digital via Coursera

Tags

Computer Science Courses Formal Verification Courses

Course Description

Overview

The Automated Reasoning: Symbolic Model Checking course presents how the properties of acting systems and programs can be verified automatically. The basic notion is a transition system: any system that can be described by states and steps. We present how in CTL (computation tree logic) properties like reach-ability can be described. Typically, a state space may be very large. One way to deal with this is symbolic model checking: a way in which sets of states are represented symbolically. A fruitful way to do so is by representing sets of states by BDDs (binary decision diagrams). Definitions and basic properties of BDDs are presented in this course, and the algorithms to compute them, as needed for doing CTL model checking.

Syllabus

  • CTL model checking
    • After a general introduction to the MOOC, this module starts by a general description of model checking.Then Computation Tree Logic (CTL) is introduced: a language in which properties on transition systems can be described. The algorithm to check whether such a property holds is given in an abstract setting, leaving implicit how sets of states are represented.
  • BDDs part 1
    • In this module BDDs (binary decision diagrams) are introduced as decision trees with sharing. They represent boolean functions. Extra requirements on both decision trees and BDDs are presented from which uniqueness of the representation can be concluded.
  • BDDs part 2
    • After some examples of BDD, the algorithm is presented and discussed to compute the ROBDD of any propositional formula.
  • BDD based symbolic model checking
    • In this last module the topics of CTL model checking and BDDs are combined: it is shown how BDDs can be used to represent sets of states in a way that the abstract algorithm for CTL mode checking can be used, and much larger state spaces can be dealt with than by using explicit state based model checking. Sever examples are presented.

Taught by

Hans Zantema

Related Courses

SPARK 2014
AdaCore via Independent
Software Testing and Verification
University System of Maryland via edX
Haskell for Imperative Programmers
YouTube