SYMBOLIC MODEL CHECKING: 10 20 STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam.

Slides:



Advertisements
Similar presentations
Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Advertisements

Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
1 Verification of Parameterized Systems Reducing Model Checking of the Few to the One. E. Allen Emerson, Richard J. Trefler and Thomas Wahl Junaid Surve.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
CS 267: Automated Verification Lecture 2: Linear vs. Branching time. Temporal Logics: CTL, CTL*. CTL model checking algorithm. Counter-example generation.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
1 Computation Tree Logic (CTL). 2 CTL Syntax P - a set of atomic propositions, every p  P is a CTL formula. f, g, CTL formulae, then so are  f, f 
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
1 Model checking. 2 And now... the system How do we model a reactive system with an automaton ? It is convenient to model systems with Transition systems.
Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
François Fages MPRI Bio-info 2006 Formal Biology of the Cell Modeling, Computing and Reasoning with Constraints François Fages, Constraints Group, INRIA.
CS357 Lecture: BDD basics David Dill 1. 2 BDDs (Boolean/binary decision diagrams) BDDs are a very successful representation for Boolean functions. A BDD.
UPPAAL Introduction Chien-Liang Chen.
CS357: CTL Model Checking (combined notes from lectures 11/5 and 11/7) David Dill 1.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
CS 267: Automated Verification Lecture 7: SMV Symbolic Model Checker, Partitioned Transition Systems, Counter-example Generation in Symbolic Model Checking.
CS 267: Automated Verification Lectures 4:  -calculus Instructor: Tevfik Bultan.
Review of topics Final exam : -May 2nd to May 7 th - Projects due on May 7th.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
ECE Synthesis & Verification - Lecture 18 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Word-level.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 16, 2003.
1 CTL Model Checking David L. Dill. 2 CTL syntax: AP -- atomic propositions p  AP is a formula f  g is a formula, if f and g are ¬f is a formula AX.
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
Embedded Systems Laboratory Department of Computer and Information Science Linköping University Sweden Formal Verification and Model Checking Traian Pop.
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
ECE 667 Synthesis & Verification - BDD 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Binary Decision Diagrams (BDD)
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
1 Introduction to SMV and Model Checking Mostly by: Ken McMillan Cadence Berkeley Labs Small parts by: Brandon Eames ISIS/Vanderbilt.
Binary Decision Diagrams (BDDs)
Model Checking Lecture 4 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
CS6133 Software Specification and Verification
Algorithmic Software Verification V &VI. Binary decision diagrams.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Lecture 81 Optimizing CTL Model checking + Model checking TCTL CS 5270 Lecture 9.
Four Lectures on Model Checking Tom Henzinger University of California, Berkeley.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Introduction to Model Checking
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Validation - Formal verification -
1 Verification of FSM Equivalence Goal: Verify that two sequential circuit implementations always produce the same sequence of outputs given the same sequence.
Verification & Validation By: Amir Masoud Gharehbaghi
Bounded Model Checking A. Biere, A. Cimatti, E. Clarke, Y. Zhu, Symbolic Model Checking without BDDs, TACAS’99 Presented by Daniel Choi Provable Software.
29/06/2016Verification Synchronous Languages Verification.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
How CTL model checking works
Basic concepts of Model Checking
Formal methods: Lecture
CTL model checking algorithms
CIS 842: Specification and Verification of Reactive Systems
Planning as model checking, (OBDDs)
ECE 667 Synthesis and Verification of Digital Systems
SS 2017 Software Verification CTL model checking, BDDs
Automatic Verification of Industrial Designs
Albert M. K. Cheng Real-Time Systems Laboratory University of Houston
CSCI1600: Embedded and Real Time Software
Discrete Controller Synthesis
Verifying Programs with BDDs Sept. 22, 2006
Program correctness Model-checking CTL
Presentation transcript:

SYMBOLIC MODEL CHECKING: STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam

 Motivation  Definitions  Symbolic Model Checking  Contribution  Mu-Calculus Encoding  Binary Decision Diagram Representation  Model Checking Algorithm  CTL Model Checking  Empirical Results  Summary  Future Work OUTLINE

 Many different methods for automatically verifying finite state systems  LTL  CTL  All rely on algorithms that explicitly represent a state space, using a list or table that grows in proportion to the number of states  Number of states in the model grow exponentially with the number of concurrently executing components  The size of the state table is the limiting factor in applying these algorithms to realistic systems MOTIVATION

 This “state explosion problem” can not be handled by the state enumeration methods  Explicit state enumeration methods are limited to systems with at most 10 8 reachable states  Can be eliminated by representing the state space symbolically instead of explicitly  This technique verifies models with more than states ! MOTIVATION

 Relational variable  a predicate or a function  Abstraction operator  λ: used in lambda calculus  f(x 1, x 2 ) is written as λ x1, x2 [f]  Relational term  f is a formula and y i are individual variables  R is relational term and P is a relational variable with arity n  Fixed point of function f  An element x such that f(x) = x DEFINITIONS

 Least fixed point is the least element that is a fixed point. y is lfp of f in S iff (f(y) = y) ∧ (∀x S. (f(x) = x) ⇒ (y ⊆ x))  Greatest fixed point is the greatest element that is a fixed point. y is gfp of f in S iff (f(y) = y) ∧ (∀x S. (f(x) = x) ⇒ (x ⊆ y))  Fixed point operators  μ and ν are the lfp and gfp operators used in mu-calculus  Monotone function  A function f is monotone iff for all P ⊆ S and Q ⊆ S, P ⊆ Q ⇒ f(P) ⊆ f(Q) DEFINITIONS

 Variable Interpretation  Individual I P : for each individual variable y, I P (y) is a value in domain D  Relational I R : for each n-ary relational variable P, I R (P) is an n-ary relation in domain D  Substitution of Variables  The substitution of a variable w for a variable v in a formula f, denoted f(v ← w) f ⇒ ∃ v [(v ⇔ w) ∧ f] DEFINITIONS

 In explicit state model checking, we represent the Kripke structure as a graph and implement the model checking algorithm as graph traversal.  2 main steps:  Encode Model Domain: Describe sets of states as propositional logic formulae instead of enumeration: Mu-Calculus S = {1, 2, 3, 4, 5} = {x | 1 ≤ x ≤ 5}  Compact Representation: Represent those logical formulae/boolean functions using efficient means of manipulating boolean functions: Binary Decision Diagrams SYMBOLIC MODEL CHECKING

 Provides a generalized symbolic model checking method by using a dialect of the Mu-Calculus as the primary specification language  Describes a model checking algorithm for Mu- Calculus formulas that uses BDD to represent relations and formulas  Shows how Mu-Calculus model checking algorithm can be used to derive efficient decision procedures for CTL, LTL model checking  Discusses how it can be used to verify a simple synchronous pipeline circuit CONTRIBUTIONS

 Syntax:  In this formula, R can be a Relational variable or a Relational term of the following two forms:  Second one represents the least fixed point of R where R be formally monotone with P MU-CALCULUS

 Example: MU-CALCULUS

 Formal Definition:  given a finite signature  each symbol in is either an Individual variable or a Relational variable with some positive arity.  recursively define two syntactic categories: formulas and relational terms.  Formula: MU-CALCULUS

 Relational term:  ∀, ∧, ⇒, and ⇔ are treated as abbreviations in the usual manner  ¬R is an abbreviation for  R ∨ R’ is an abbreviation for MU-CALCULUS

 Model M = (D, I R, I D ), where D is the domain  Semantic function MU-CALCULUS

MU-CALCULUS

 Widely used in various tools for the design and analysis of digital circuits  Canonical form representation for Boolean formulas  Similar to binary decision tree  Allows many practical systems with extremely large state spaces to be verified-which are impossible to handle with explicit state enumeration methods BINARY DECISION DIAGRAM

 DAG  Occurrence of variables is ordered from root to a leaf.  Example:  Formula: (a ∧ b) ∨ (c ∧ d)  Ordering: a < b < c < d  (a ←1, b ← 0, c ← 1, d ← 1) leads to a leaf node labeled 1 BINARY DECISION DIAGRAM

 For the Mu-Calculus that uses BDDs as its internal representation  BDDATOM(f) returns BDD iff f = 1  Last case substitutes x i by dummy d i  FixedPoint() is the standard technique MODEL CHECKING ALGORITHM

 CTL formula f is true of Kripke structure M= (A, S, L, N, S O ) ⇔ Mu-Calculus formula f' is true of a structure M’ = (S, I R, I D )  If CTL formula f is an abbreviation for the Mu- Calculus relational term R, then f is true at state s iff R(s) is true  If f has no temporal operators, then it represents the relational term R CTL MODEL CHECKING

 EX f = λ S [ ∃ t [ f(t) ∧ N(s, t) ] ]  EG f = f ∧ EX EG f = νQ [ f ∧ EX Q ] = νQ [ λ S [ f(s) ∧ ∃ t [ Q(t) ∧ N(s, t) ] ]  E [ f ∪ g ] = g ∨ (f ∧ EX E[f ∪ g]) = μQ [g ∨ (f ∧ EX Q]] = μQ [λ S [g(s) ∨ (f(s) ∧ ∃ t [Q(t) ∧ N(s, t)]] CTL MODEL CHECKING

 Performs three-address logical and arithmetic operations on a register  3 Pipeline stages:  Operand read from the register file  ALU (Arithmetic Logic Unit) operation  Write back to register EMPIRICAL RESULTS

 Pipeline with 12 bits has approximately 1.5 x 1O 29 reachable states  The number of nodes in BDD is asymptotically linear in the number of bits, not exponential  The verification time is polynomial in the number of bits EMPIRICAL RESULTS

 Suitable encoding of the model domain and compact representation for relations, the complexity of various graph-based verification algorithms is reduced  Regular structure of the data path logic captured by the BDD representation results in a linear space complexity in the number of circuit components rather than exponential SUMMARY

 Characterization of the models for which the BDD Mu-Calculus checker is efficient  Applicability of developed technique in common graph algorithms whose results can be expressed as relations, such as minimum spanning trees, graph isomorphism etc. FUTURE WORKS