Symbolic Model Checking
|
|
- Mercy Reeves
- 5 years ago
- Views:
Transcription
1 Symbolic Model Checking Ken McMillan 90 Randal Bryant 86 Binary Decision Diagrams 1
2 Combinatorial Circuits 2
3 Combinatorial Problems Sudoku Eight Queen 3
4 Control Programs A Train Simulator, visualstate (VVS) 1421 machines transitions 2981 inputs 2667 outputs 3204 local states Declare state sp.: 10^476 BUGS? Ideal presentation: 1 bit/state will clearly NOT work! 4
5 Reduced Ordered Binary Decision Diagrams [Bryant 86] Compact represetation of boolean functions allowing effective manipulation (satifiability, validity,.) or Compact representation of sets over finite universe allowing effective manipulations. 5
6 Binary Decision Diagrams [Randal Bryant 86] A short review 6
7 If-Then-Else Normal Form 7
8 Shannon Expansion 8
9 Binary Decision Trees Variable is set to 0 Variable is set to 1 Each path determines a partial (set of) truth assignments. Result of the boolean expression under the given assigment found in value of terminal. 9
10 Orderedness & Redundant TESTS 10
11 Orderedness & Reducedness x x x x y z x<y x<z 11
12 ROBDDs formally 12
13 Reduced Ordered Binary Decision Diagrams Iben Edges to 0 implicit 13
14 Ordering DOES matter 14
15 Canonicity of ROBDDs 15
16 Build Complexity?? 16
17 APPLY operation 17
18 APPLY example 18
19 APPLY operation with dynamic programming 19
20 Other operations 20
21 Constraint Solving using BDDs 21
22 x 4 Sudoku 288 solutions! 22
23 Encoding Boolean variables x i,j,k for all i, j, k {1,2,3,4}. 4 4 Idea: x 2,2,2 =1 x 4,4,4 =1 x 2,2,1 =0 x i,j,k = 1 ; if the number k is in position (i,j) in the solution 0 ; otherwise 23
24 Constraints Precisely one value in each position i, j: x 1,j,1 + x i,j,2 + x i,j,3 + x i,j,4 = for each i, j Each value k appears in each row i exactly ones: x i,1,k + x i,2,k + x i,3,k + x i,4,k = 1 for each i, k Each value k appears in each colomn j exactly ones: x 1,j,k + x 2,j,k + x 3,j,k + x 4,j,k = 1 for each j, k Each value k appears in each 2x2 box exactly ones: x 1,1,k + x 1,2,k + x 2,1,k + x 2,2,k = 1 (e.g.) 24
25 Solving Sudoku
26 ROBDDs and Verification [,McMillan 90,..,VVS 97] 26
27 00 ROBDD encoding of transition 01 system Encoding of states using binary variables (here x1 and x2) Encoding of transition relation using source and target variables (here x1, x2, y1, and y2) Trans(x1,x2,y1,y2):=!x1 &!x2 &!y1 & y2 +!x1 &!x2 & y1 & y2 + x1 &!x2 &!y1 & y2 + x1 &!x2 & y1 & y2 + x1 & x2 & y1 &!y2; 27
28 ROBDD representation (cont.) Trans(x1,x2,y1,y2):=!x1 &!x2 &!y1 & y2 +!x1 &!x2 & y1 & y2 + x1 &!x2 &!y1 & y2 + x1 &!x2 & y1 & y2 + x1 & x2 & y1 &!y2; 28
29 ATrans(x,y) ROBDD for parallel composition Asynchronous composition Trans(x,y,u,v) = (ATrans(x,y) & v=u) + (BTrans(u,v) & y=x) Synchronous composition Trans(x,y,u,v) = (ATrans(x,y) & BTrans(u,v)) BTrans(u,v) Which ordering to choose? 29
30 Ordering? 45 nodes x1,x2,u1,u2, y1,y2,v1,v2 23 nodes x1,x2,y1,y2,u1,u2,v1,v2 20 nodes x1,y1,x2,y2,u1,v1,u2,v2 Polynomial size BDDs guaranteed in size of argument BDDs [Enders,Filkorn, Taubner 91] 30
31 Reachable States Reach(x) := Init(x); REPEAT Old(x) := Reach(x); New(y) := Exists x.(reach(x) & Trans(x,y)); Reach(x) := Old(x) + New(x) UNTIL Old(x) = Reach(x) Relational Product: May be constructed without building intermediate (often large) &-BDD. Reach 0 Reach 1 Reach Reach 1 31
32 A MUTEX Algorithm Clarke & Emerson P1 P1 :: :: while True do do T1 T1 : wait(turn=1) C1 C1 : turn:=0 endwhile P2 P2 :: :: while True do do T2 T2 : wait(turn=0) C2 C2 : turn:=1 endwhile Mutual Exclusion Program 32
33 Global Transition System I1 I2 t=0 I1 I2 t=1 T1 I2 t=0 I1 T2 t=0 T1 I2 t=1 I1 T2 t=1 T1 T2 t=0 I1 C2 t=0 C1 I2 t=1 T1 T2 t=1 T1 C2 t=0 C1 T2 t=1 33
34 A MUTEX Algorithm Clarke & Emerson vars x1 x2; vars y1 y2; vars u1 u2; vars v1 v2; vars t s; ATrans := (!x1 &!x2 &!y1 & y2 & (s=t)) + (!x1 & x2 &!y1 & y2 &!t &!s) + (!x1 & x2 & y1 &!y2 & t & s) + (x1 &!x2 &!y1 &!y2 &!s); BTrans := (!u1 &!u2 &!v1 & v2 & (s=t)) + (!u1 & u2 &!v1 & v2 & t & s) + (!u1 & u2 & v1 &!v2 &!t &!s) + (u1 &!u2 &!v1 &!v2 & s); TT := (ATrans & (u1=v1) & (u2=v2)) + (BTrans & (x1=y1) & (x2=y2));
35 BDDs for Transition Relations ATrans TT 35
36 Reachable States Reach(x) := Init(x); REPEAT Old(x) := Reach(x); New(y) := Exists x.(reach(x) & Trans(x,y)); Reach(x) := Old(x) + New(x) UNTIL Old(x) = Reach(x) 36
37 Reachable States Reach(x) := Init(x); REPEAT Old(x) := Reach(x); New(y) := Exists x.(reach(x) & Trans(x,y)); Reach(x) := Old(x) + New(x) UNTIL Old(x) = Reach(x) 37
38 Reachable States Reach(x) := Init(x); REPEAT Old(x) := Reach(x); New(y) := Exists x.(reach(x) & Trans(x,y)); Reach(x) := Old(x) + New(x) UNTIL Old(x) = Reach(x) MUTEX? Reach & x1 &!x2 & u1 &!u2 Reach 38
39 Bisimulation vars x (y) Bis(x,u):= 1; REPEAT Old(x,u) := Bis(x,u); Bis(x,u) := Forall y. Trans(x,y) => (Exists v. Trans(u,v) & Bis(y,v)) & Forall v. Trans(u,v) => (Exists y. Trans(x,y) & Bis(y,v)); UNTIL Bis(x,u)=Old(x,u) vars u (v) 39
40 Bisimulation (cont.) Bis 0 Bis 1 Bis equivalence classes = 6 pairs in final bisimulation 40
41 Model Checking 0 1 p p,q q 3 2 p vars x1 x2; vars y1 y2; Trans(x1,x2,y1,y2) :=!x1 &!x2 &!y1 & y2 +!x1 &!x2 & y1 & y2 + ; P(x1,x2) :=!x1 &!x2 +!x1 & x2 + x1 &!x2; Q(x1,x2) := ; 41
42 Model Checking 0 1 p p,q q 3 2 p EX P Exists y1,y2. Trans(x1,x2,y1,y2) & P(y1,y2); 42
43 Model Checking 0 1 p p,q q 3 2 p EX P Exists y1,y2. Trans(x1,x2,y1,y2) & P(y1,y2); 43
44 Model Checking 0 1 p p,q q 3 2 p AX P Forall y1,y2. Trans(x1,x2,y1,y2) => P(y1,y2); 44
45 Model Checking 0 1 p p,q q 3 2 p AX P Forall y1,y2. Trans(x1,x2,y1,y2) => P(y1,y2); 45
46 Model Checking 0 1 p p,q 2 AG P p max fixpoint q 3 A(x1,x2) = P(x1,x2) & Forall y1,y2. Trans(x1,x2,y1,y2) => A(y1,y2); 46
47 Model Checking 0 1 p p,q 2 AG P p max fixpoint q 3 A(x1,x2) = P(X1,x2) & Forall y1,y2. Trans(x1,x2,y1,y2) => A(y1,y2); 47
48 Model Checking 0 1 p p,q q 3 2 A( P UNTIL Q ) p min fixpoint U(x1,x2) = Q(x1,x2) + { P(x1,x2) & Forall y1,y2. Trans(x1,x2,y1,y2) => U(y1,y2) }; 48
49 Model Checking 0 1 p p,q q 3 2 A( P UNTIL Q ) p min fixpoint U(x1,x2) = Q(X1,x2) + { P(x1,x2) & Forall y1,y2. Trans(x1,x2,y1,y2) => U(y1,y2) }; 49
50 Partitioned Transition Relation Relational Product LARGE Exists yv. (T(xu,yv) & S(yv)) Asynchronous T(xu,yv) = (ATrans(x,y) & v=u) + (BTrans(u,v) & y=x) Exists y. ATrans(x,y) & S(yu) + Exists v. BTrans(u,v) & S(xv) Synchronous T(xu,yv) = ATrans(x,y) & BTrans(u,v) Exists yv. Atrans(x,y) & Btrans(u,v) & S(yv) Exists y. Atrans(x,y) & (Exists v. Btrans(u,v) & S(yv)) 50
51 visualstate CIT project VVS (w DTU) Beologic s Products: salesplus visualstate : Independent division of B& : Independent company B&O, 2M Invest, Danish Municipal Pension Ins. Fund 1998: BAAN 2000: IAR Systems A/S Customers: ABB B&O Daimler-Benz Ericson DIAX ESA/ESTEC FORD Grundfos LEGO PBS Siemens. (approx. 200) Verification Problems: components states Embedded Systems Simple Model Verification of Std. Checks Explicit Representation (STATEEXPLOSION) Code Generation Our techniques has reduced verification by an order of magnitude (from 14 days to 6 sec) 51
52 visualstate Embedded World Nürnberg,
53 Control Programs A Train Simulator, visualstate (VVS) 1421 machines transitions 2981 inputs 2667 outputs 3204 local states Declare state sp.: 10^476 BUGS? Ideal presentation: 1 bit/state will clearly NOT work! 53
54 Experimental Breakthroughs Patented System Mach. State Space Checks Visual St-of-Art ComBack Declared Reach ST Sec MB Sec MB VCR 7 10^ <1 <1 6 <1 7 JVC 8 10^ <1 <1 6 <1 6 HI-FI 9 10^ Motor 12 10^ <1 6 2,0 AVS 12 10^ Video 13 10^ Car 20 10^ ^ N ^ N ^ ^ N ^ ^ Train ^ Train ^ Machine: 166 MHz Pentium PC with 32 MB RAM ---: Out of memory, or did not terminate after 3 hours. 54
55 System Experimental Breakthroughs Patented Mach. State Space Checks Visual St-of-Art ComBack Declared Reach ST Sec MB Sec MB VCR 7 10^ <1 <1 6 <1 7 JVC 8 10^ <1 <1 6 <1 6 HI-FI 9 10^ Motor 12 10^ <1 6 2,0 AVS 12 10^ Video 13 10^ Car 20 10^ ^ N ^ N ^ ^ N ^ ^ Our technique have reduced verification time by several orders of magnitude (eg. From 14 days to 6 sec) Train ^ Train ^ Machine: 166 MHz Pentium PC with 32 MB RAM ---: Out of memory, or did not terminate after 3 hours. 55
56 Compositional Backwards Reachability [ TACAS 98 ] 56
57 Example The Small Train t l r Train Gate Signal t l,t STOP DOWN DOWN t BW r FW l r d RED UP DOWN GR u g re RED 57
58 Syntax State-Event Model visualstate n synchronously combined machines where M i = (S i,s i0,t i ) T i S i E G i M(O) S i Input Events Semantics (s 1,,s n ) e, o i (s 1,,s n ) iff s i - e,g i,o i s i with g i (s 1,,s n )=true or Guards on other machines locations Output s i = s i and o i =Ø and whenever s i - e, g i then g i (s 1,,s n )=false i=1..n 58
59 STOP UP GR Small Train (cont) t DOWN l,t r DOWN t d RED u g re Gate BW r l FW DOW N RED DOWN Signal UP GR RED STOP BW FW Train 59
60 STOP UP GR Small Train (cont) t DOWN l,t r DOWN t d RED u g re BW r l FW DOW N RED Gate l r d DOWN Signal UP GR RED re STOP BW FW Train 60
61 Generic Checks visualstate offers checks for a number of predefined properties: Reachability Reachability of states Firing of transitions Input without interpretation Output without generation Conflicting Rules Local Deadlock Global Deadlock Not a single CHECK but several thousands! 61
62 Guard dependencies Let g 1, g 2, g 3,, g N (N big) be the guards we want to show reachable If g i g j (e.g. g i =DOWN UP, g j =DOWN) then it suffices to show that g i reachable, i.e. there is a reachable global state satisfying g i. Sort g 1, g 2, g 3,, g N according to size and check only if NOT implied by a previously shown reachable guard % reduction. 62
63 Machine Dependencies A guard g in machie M i that depends on/refers to a state in M j introduces a dependency from M i to M j STOP UP GR t DOWN l,t r DOWN t d RED u g re BW r FW DOWN RED l TRAIN GATE SIGNAL Backwards statespace iterations can be restricted to dependency closed sets, e.g. DC(GATE) = {GATE,SIGNAL} 63
64 Compositional Backwards t DOWN BW l,t STOP r l r DOWN FW t d RED UP DOW N GR u g re RED Is FW reachable? IDEA: Compute backward reachable states as much as possible with minimal set of machines. Increase set of considered machines when necessary! Consider TRAIN TRAIN STOP BW FW 64
65 Compositional Backwards t DOWN BW l,t STOP r l r DOWN FW t d RED UP DOW N GR u g re RED Is FW reachable? IDEA: Compute backward reachable states as much as possible with minimal set of machines. Increase set of considered machines when necessary! Consider TRAIN TRAIN STOP DOWN BW DOWN FW Ignoring INPUT event 65
66 Compositional Backwards t DOWN BW l,t STOP r l r DOWN FW t d RED UP DOW N GR u g re RED Is FW reachable? IDEA: Compute backward reachable states as much as possible with minimal set of machines. Increase set of considered machines when necessary! Consider TRAIN TRAIN STOP DOWN BW DOWN FW Ignoring INPUT event 66
67 Compositional Backwards Include GATE! t DOWN BW l,t STOP r l r DOWN FW t d RED UP DOW N GR u g re RED Ignoring transtions with source in RED TRAIN BW FW 67
68 Compositional Backwards Include GATE! t DOWN BW l,t STOP r l r DOWN FW t d RED UP DOW N GR u g re RED Ignoring transtions with source in RED Any state projecting to can reach a state projecting to BW FW TRAIN 68
69 Compositional Backwards Gate t DOWN BW l,t STOP r l r DOWN FW t d RED UP DOW N GR u g re RED Include SIGNAL! DOWN RED Signal UP GR STOP BW FW Train Thus FW is reachable! 69
70 Hierarchical Systems [ TACAS 99 ] IDEA Reuse already known reachability properties of superstates to conclude reachability of substates! 70
71 Experimental results 71
Finite State Model Checking
Finite State Model Checking Finite State Model Checking Finite State Systems System Descrition A Requirement F CTL TOOL No! Debugging Information Yes, Prototyes Executable Code Test sequences Tools: visualstate,
More informationBinary Decision Diagrams and Symbolic Model Checking
Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of
More informationComputation Tree Logic
Comutation Tree Logic Finite State Model Checking of Branching Time Logic Kim Guldstrand Larsen BRICS@Aalborg 1 Tool Suort Finite State Systems System Descrition A Reuirement F CTL TOOL Course Objectives:
More informationModel Checking: An Introduction
Model Checking: An Introduction Meeting 3, CSCI 5535, Spring 2013 Announcements Homework 0 ( Preliminaries ) out, due Friday Saturday This Week Dive into research motivating CSCI 5535 Next Week Begin foundations
More informationSymbolic Model Checking with ROBDDs
Symbolic Model Checking with ROBDDs Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 14, 2016 c JPK Symbolic
More informationOverview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?
Computer Engineering and Networks Overview Discrete Event Systems Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two circuits
More informationBinary Decision Diagrams Boolean Functions
Binary Decision Diagrams Representation of Boolean Functions BDDs, OBDDs, ROBDDs Operations Model-Checking over BDDs 72 Boolean functions:b = {0,1}, f :B B B Boolean Functions Boolean expressions: t ::=
More informationReduced Ordered Binary Decision Diagrams
Reduced Ordered Binary Decision Diagrams Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de June 5, 2012 c JPK Switching
More informationBoolean decision diagrams and SAT-based representations
Boolean decision diagrams and SAT-based representations 4th July 200 So far we have seen Kripke Structures 2 Temporal logics (and their semantics over Kripke structures) 3 Model checking of these structures
More information2 Appears in Proceedings of TACAS'98, LNCS 1384, April 1998 state/event model. The state/event model is a concurrent version of Mealy machines, that i
1 Verication of Large State/Event Systems using Compositionality and Dependency Analysis? Jrn Lind-Nielsen 1, Henrik Reif Andersen 1, Gerd Behrmann 2, Henrik Hulgaard 1, Kare Kristoersen 2, and Kim G.
More informationBasing Decisions on Sentences in Decision Diagrams
Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence Basing Decisions on Sentences in Decision Diagrams Yexiang Xue Department of Computer Science Cornell University yexiang@cs.cornell.edu
More informationDouble Header. Model Checking. Model Checking. Overarching Plan. Take-Home Message. Spoiler Space. Topic: (Generic) Model Checking
Double Header Model Checking #1 Two Lectures Model Checking SoftwareModel Checking SLAM and BLAST Flying Boxes It is traditional to describe this stuff (especially SLAM and BLAST) with high-gloss animation
More informationCTL Model Checking. Wishnu Prasetya.
CTL Model Checking Wishnu Prasetya wishnu@cs.uu.nl www.cs.uu.nl/docs/vakken/pv Background Example: verification of web applications à e.g. to prove existence of a path from page A to page B. Use of CTL
More informationReduced Ordered Binary Decision Diagrams
Reduced Ordered Binary Decision Diagrams Lecture #12 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 13, 2016 c JPK
More informationPolynomial Methods for Component Matching and Verification
Polynomial Methods for Component Matching and Verification James Smith Stanford University Computer Systems Laboratory Stanford, CA 94305 1. Abstract Component reuse requires designers to determine whether
More information15.083J/6.859J Integer Optimization. Lecture 2: Efficient Algorithms and Computational Complexity
15.083J/6.859J Integer Optimization Lecture 2: Efficient Algorithms and Computational Complexity 1 Outline Efficient algorithms Slide 1 Complexity The classes P and N P The classes N P-complete and N P-hard
More informationQuIDD-Optimised Quantum Algorithms
QuIDD-Optimised Quantum Algorithms by S K University of York Computer science 3 rd year project Supervisor: Prof Susan Stepney 03/05/2004 1 Project Objectives Investigate the QuIDD optimisation techniques
More informationLogic and Boolean algebra
Computer Mathematics Week 7 Logic and Boolean algebra College of Information Science and Engineering Ritsumeikan University last week coding theory channel coding information theory concept Hamming distance
More informationSection 4.1 Switching Algebra Symmetric Functions
Section 4.1 Switching Algebra Symmetric Functions Alfredo Benso Politecnico di Torino, Italy Alfredo.benso@polito.it Symmetric Functions A function in which each input variable plays the same role in determining
More informationCTL Model checking. 1. finite number of processes, each having a finite number of finite-valued variables. Model-Checking
CTL Model checking Assumptions:. finite number of processes, each having a finite number of finite-valued variables.. finite length of CTL formula Problem:Determine whether formula f 0 is true in a finite
More informationBDD Based Upon Shannon Expansion
Boolean Function Manipulation OBDD and more BDD Based Upon Shannon Expansion Notations f(x, x 2,, x n ) - n-input function, x i = or f xi=b (x,, x n ) = f(x,,x i-,b,x i+,,x n ), b= or Shannon Expansion
More informationEECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams. Sanjit A. Seshia EECS, UC Berkeley
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: Lintao Zhang Announcement Project proposals due
More informationSoftware Verification
Software Verification Grégoire Sutre LaBRI, University of Bordeaux, CNRS, France Summer School on Verification Technology, Systems & Applications September 2008 Grégoire Sutre Software Verification VTSA
More informationAxiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs
Review Operational semantics relatively l simple many flavors (small vs. big) not compositional (rule for while) Good for describing language implementation reasoning about properties of the language eg.
More informationCS357: CTL Model Checking (two lectures worth) David Dill
CS357: CTL Model Checking (two lectures worth) David Dill 1 CTL CTL = Computation Tree Logic It is a propositional temporal logic temporal logic extended to properties of events over time. CTL is a branching
More informationBinary Decision Diagrams
Binary Decision Diagrams Literature Some pointers: H.R. Andersen, An Introduction to Binary Decision Diagrams, Lecture notes, Department of Information Technology, IT University of Copenhagen Tools: URL:
More informationLecture 2: Symbolic Model Checking With SAT
Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.
More informationComputation Tree Logic
Chapter 6 Computation Tree Logic Pnueli [88] has introduced linear temporal logic to the computer science community for the specification and verification of reactive systems. In Chapter 3 we have treated
More informationSAT in Formal Hardware Verification
SAT in Formal Hardware Verification Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria Invited Talk SAT 05 St. Andrews, Scotland 20. June 2005 Overview Hardware
More informationEquivalence Checking of Sequential Circuits
Equivalence Checking of Sequential Circuits Sanjit Seshia EECS UC Berkeley With thanks to K. Keutzer, R. Rutenbar 1 Today s Lecture What we know: How to check two combinational circuits for equivalence
More informationAutomata-Theoretic Model Checking of Reactive Systems
Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,
More information1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT
1 Algebraic Methods In an algebraic system Boolean constraints are expressed as a system of algebraic equations or inequalities which has a solution if and only if the constraints are satisfiable. Equations
More informationCS61c: Representations of Combinational Logic Circuits
CS61c: Representations of Combinational Logic Circuits J. Wawrzynek March 5, 2003 1 Introduction Recall that synchronous systems are composed of two basic types of circuits, combination logic circuits,
More informationModel checking the basic modalities of CTL with Description Logic
Model checking the basic modalities of CTL with Description Logic Shoham Ben-David Richard Trefler Grant Weddell David R. Cheriton School of Computer Science University of Waterloo Abstract. Model checking
More informationVerification. Arijit Mondal. Dept. of Computer Science & Engineering Indian Institute of Technology Patna
IIT Patna 1 Verification Arijit Mondal Dept. of Computer Science & Engineering Indian Institute of Technology Patna arijit@iitp.ac.in Introduction The goal of verification To ensure 100% correct in functionality
More informationAbstractions and Decision Procedures for Effective Software Model Checking
Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture
More informationIntroduction to Solving Combinatorial Problems with SAT
Introduction to Solving Combinatorial Problems with SAT Javier Larrosa December 19, 2014 Overview of the session Review of Propositional Logic The Conjunctive Normal Form (CNF) Modeling and solving combinatorial
More informationSynchronous Sequential Circuit
Synchronous Sequential Circuit The change of internal state occurs in response to the synchronized clock pulses. Data are read during the clock pulse (e.g. rising-edge triggered) It is supposed to wait
More informationThe algorithmic analysis of hybrid system
The algorithmic analysis of hybrid system Authors: R.Alur, C. Courcoubetis etc. Course teacher: Prof. Ugo Buy Xin Li, Huiyong Xiao Nov. 13, 2002 Summary What s a hybrid system? Definition of Hybrid Automaton
More informationEfficient Guided Symbolic Reachability Using Reachability Expressions
Efficient Guided Symbolic Reachability Using Reachability Expressions Dina Thomas 1, Supratik Chakraborty 1, and Paritosh Pandya 2 1 Indian Institute of Technology, Bombay, India dina@cfdvs.iitb.ac.in,
More informationModel Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar
Model Checking I What are LTL and CTL? q0 or and dack dreq q0bar and 1 View circuit as a transition system (dreq, q0, dack) (dreq, q0, dack ) q0 = dreq and dack = dreq & (q0 + ( q0 & dack)) q0 or and D
More informationModel Checking I. What are LTL and CTL? dack. and. dreq. and. q0bar
Model Checking I What are LTL and CTL? and dack q0 or D dreq D q0bar and 1 View circuit as a transition system (dreq, q0, dack) (dreq, q0, dack ) q0 = dreq dack = dreq and (q0 or (not q0 and dack)) q0
More informationChapter 2: Switching Algebra and Logic Circuits
Chapter 2: Switching Algebra and Logic Circuits Formal Foundation of Digital Design In 1854 George Boole published An investigation into the Laws of Thoughts Algebraic system with two values 0 and 1 Used
More informationModel checking, verification of CTL. One must verify or expel... doubts, and convert them into the certainty of YES [Thomas Carlyle]
Chater 5 Model checking, verification of CTL One must verify or exel... doubts, and convert them into the certainty of YES or NO. [Thomas Carlyle] 5. The verification setting Page 66 We introduce linear
More information12 - The Tie Set Method
12 - The Tie Set Method Definitions: A tie set V is a set of components whose success results in system success, i.e. the presence of all components in any tie set connects the input to the output in the
More informationA brief introduction to Logic. (slides from
A brief introduction to Logic (slides from http://www.decision-procedures.org/) 1 A Brief Introduction to Logic - Outline Propositional Logic :Syntax Propositional Logic :Semantics Satisfiability and validity
More informationFunctions. Computers take inputs and produce outputs, just like functions in math! Mathematical functions can be expressed in two ways:
Boolean Algebra (1) Functions Computers take inputs and produce outputs, just like functions in math! Mathematical functions can be expressed in two ways: An expression is finite but not unique f(x,y)
More informationVerification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation. Himanshu Jain THESIS ORAL TALK
Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation Himanshu Jain THESIS ORAL TALK 1 Computer Systems are Pervasive Computer Systems = Software + Hardware Software/Hardware
More informationMODEL CHECKING. Arie Gurfinkel
1 MODEL CHECKING Arie Gurfinkel 2 Overview Kripke structures as models of computation CTL, LTL and property patterns CTL model-checking and counterexample generation State of the Art Model-Checkers 3 SW/HW
More informationCHAPTER1: Digital Logic Circuits Combination Circuits
CS224: Computer Organization S.KHABET CHAPTER1: Digital Logic Circuits Combination Circuits 1 PRIMITIVE LOGIC GATES Each of our basic operations can be implemented in hardware using a primitive logic gate.
More informationEGFC: AN EXACT GLOBAL FAULT COLLAPSING TOOL FOR COMBINATIONAL CIRCUITS
EGFC: AN EXACT GLOBAL FAULT COLLAPSING TOOL FOR COMBINATIONAL CIRCUITS Hussain Al-Asaad Department of Electrical & Computer Engineering University of California One Shields Avenue, Davis, CA 95616-5294
More informationModal and Temporal Logics
Modal and Temporal Logics Colin Stirling School of Informatics University of Edinburgh July 23, 2003 Why modal and temporal logics? 1 Computational System Modal and temporal logics Operational semantics
More informationSymbolic Trajectory Evaluation (STE): Orna Grumberg Technion, Israel
Symbolic Trajectory Evaluation (STE): Automatic Refinement and Vacuity Detection Orna Grumberg Technion, Israel Marktoberdort 2007 1 Agenda Model checking Symbolic Trajectory Evaluation Basic Concepts
More informationFormal Methods Lecture VII Symbolic Model Checking
Formal Methods Lecture VII Symbolic Model Checking Faculty of Computer Science Free University of Bozen-Bolzano artale@inf.unibz.it http://www.inf.unibz.it/ artale/ Academic Year: 2006/07 Some material
More information19. Logic constraints, integer variables
CS/ECE/ISyE 524 Introduction to Optimization Spring 2016 17 19. Logic constraints, integer variables If-then constraints Generalized assignment problems Logic constraints Modeling a restricted set of values
More informationTowards Inference and Learning in Dynamic Bayesian Networks using Generalized Evidence
Towards Inference and Learning in Dynamic Bayesian Networks using Generalized Evidence Christopher James Langmead August 2008 CMU-CS-08-151 School of Computer Science Carnegie Mellon University Pittsburgh,
More informationTHEORY OF SYSTEMS MODELING AND ANALYSIS. Henny Sipma Stanford University. Master class Washington University at St Louis November 16, 2006
THEORY OF SYSTEMS MODELING AND ANALYSIS Henny Sipma Stanford University Master class Washington University at St Louis November 16, 2006 1 1 COURSE OUTLINE 8:37-10:00 Introduction -- Computational model
More informationCOMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS
QUALITATIVE ANALYIS METHODS, OVERVIEW NET REDUCTION STRUCTURAL PROPERTIES COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS LINEAR PROGRAMMING place / transition invariants state equation
More informationIntroduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either
Introduction to Temporal Logic The purpose of temporal logics is to specify properties of dynamic systems. These can be either Desired properites. Often liveness properties like In every infinite run action
More informationReduced Ordered Binary Decision Diagrams
Symbolic Model Checking : Decision Diagrams and Symmetries Yann Thierry-Mieg November 6 ICTAC 6 Tunis, Tunisia Reduced Ordered Binary Decision Diagrams (RO)BDD BDD for Model-checking BDD extensions Exploiting
More informationSoftware Verification using Predicate Abstraction and Iterative Refinement: Part 1
using Predicate Abstraction and Iterative Refinement: Part 1 15-414 Bug Catching: Automated Program Verification and Testing Sagar Chaki November 28, 2011 Outline Overview of Model Checking Creating Models
More informationFault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs
Fault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs Raimund Ubar, Lembit Jürimägi (&), Elmet Orasson, and Jaan Raik Department of Computer Engineering,
More informationLinear-time Temporal Logic
Linear-time Temporal Logic Pedro Cabalar Department of Computer Science University of Corunna, SPAIN cabalar@udc.es 2015/2016 P. Cabalar ( Department Linear oftemporal Computer Logic Science University
More informationAutomated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving
Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson SAT Solving 1 / 36 Review: Propositional
More informationGeometric Steiner Trees
Geometric Steiner Trees From the book: Optimal Interconnection Trees in the Plane By Marcus Brazil and Martin Zachariasen Part 3: Computational Complexity and the Steiner Tree Problem Marcus Brazil 2015
More informationChapter 4: Computation tree logic
INFOF412 Formal verification of computer systems Chapter 4: Computation tree logic Mickael Randour Formal Methods and Verification group Computer Science Department, ULB March 2017 1 CTL: a specification
More informationCSC9R6 Computer Design. Practical Digital Logic
CSC9R6 Computer Design Practical Digital Logic 1 References (for this part of CSC9R6) Hamacher et al: Computer Organization App A. In library Floyd: Digital Fundamentals Ch 1, 3-6, 8-10 web page: www.prenhall.com/floyd/
More informationa = a i 2 i a = All such series are automatically convergent with respect to the standard norm, but note that this representation is not unique: i<0
p-adic Numbers K. Sutner v0.4 1 Modular Arithmetic rings integral domains integers gcd, extended Euclidean algorithm factorization modular numbers add Lemma 1.1 (Chinese Remainder Theorem) Let a b. Then
More informationEECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits)
EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) September 5, 2002 John Wawrzynek Fall 2002 EECS150 Lec4-bool1 Page 1, 9/5 9am Outline Review of
More informationMonitoring Distributed Controllers
Monitoring Distributed Controllers When an Efficient LTL Algorithm on Sequences is Needed to Model-Check Traces A. Genon T. Massart C. Meuter Université Libre de Bruxelles Département d Informatique August
More informationIntroduction to Arti Intelligence
Introduction to Arti Intelligence cial Lecture 4: Constraint satisfaction problems 1 / 48 Constraint satisfaction problems: Today Exploiting the representation of a state to accelerate search. Backtracking.
More informationVerifying Randomized Distributed Algorithms with PRISM
Verifying Randomized Distributed Algorithms with PRISM Marta Kwiatkowska, Gethin Norman, and David Parker University of Birmingham, Birmingham B15 2TT, United Kingdom {M.Z.Kwiatkowska,G.Norman,D.A.Parker}@cs.bham.ac.uk
More informationModel Checking with CTL. Presented by Jason Simas
Model Checking with CTL Presented by Jason Simas Model Checking with CTL Based Upon: Logic in Computer Science. Huth and Ryan. 2000. (148-215) Model Checking. Clarke, Grumberg and Peled. 1999. (1-26) Content
More informationOutline. EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) Combinational Logic (CL) Defined
EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) January 30, 2003 John Wawrzynek Outline Review of three representations for combinational logic:
More informationPropositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST
Propositional Calculus - Hilbert system H Moonzoo Kim CS Division of EECS Dept. KAIST moonzoo@cs.kaist.ac.kr http://pswlab.kaist.ac.kr/courses/cs402-07 1 Review Goal of logic To check whether given a formula
More information3-Valued Abstraction-Refinement
3-Valued Abstraction-Refinement Sharon Shoham Academic College of Tel-Aviv Yaffo 1 Model Checking An efficient procedure that receives: A finite-state model describing a system A temporal logic formula
More informationESE601: Hybrid Systems. Introduction to verification
ESE601: Hybrid Systems Introduction to verification Spring 2006 Suggested reading material Papers (R14) - (R16) on the website. The book Model checking by Clarke, Grumberg and Peled. What is verification?
More informationFormal Verification Methods 1: Propositional Logic
Formal Verification Methods 1: Propositional Logic John Harrison Intel Corporation Course overview Propositional logic A resurgence of interest Logic and circuits Normal forms The Davis-Putnam procedure
More informationThe Design Procedure. Output Equation Determination - Derive output equations from the state table
The Design Procedure Specification Formulation - Obtain a state diagram or state table State Assignment - Assign binary codes to the states Flip-Flop Input Equation Determination - Select flipflop types
More informationModel Checking for Propositions CS477 Formal Software Dev Methods
S477 Formal Software Dev Methods Elsa L Gunter 2112 S, UIU egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Slides based in part on previous lectures by Mahesh Vishwanathan, and by Gul gha January
More informationExploiting Interleaving Semantics in Symbolic State Space Generation
Exploiting Interleaving Semantics in Symbolic State Space Generation GIANFRANCO CIARDO ciardo@cs.ucr.edu Dept. of Computer Science and Engineering, University of California, Riverside, CA GERALD LÜTTGEN
More informationBinary Decision Diagrams
Binary Decision Diagrams Logic Circuits Design Seminars WS2010/2011, Lecture 2 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology Czech Technical University in Prague
More informationNP-completeness. Chapter 34. Sergey Bereg
NP-completeness Chapter 34 Sergey Bereg Oct 2017 Examples Some problems admit polynomial time algorithms, i.e. O(n k ) running time where n is the input size. We will study a class of NP-complete problems
More informationHardware Equivalence & Property Verification
Hardware Equivalence & Property Verification Introduction Jie-Hong Roland Jiang National Taiwan University Flolac 29 Flolac 29 3 Outline Motivations Introduction Motivations Systems to be verified Hardware
More informationDiscrete Mathematics. CS204: Spring, Jong C. Park Computer Science Department KAIST
Discrete Mathematics CS204: Spring, 2008 Jong C. Park Computer Science Department KAIST Today s Topics Combinatorial Circuits Properties of Combinatorial Circuits Boolean Algebras Boolean Functions and
More informationSAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments. Lintao Zhang
SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments Requirements for SAT solvers in the Real World Fast & Robust Given a problem instance, we want to solve it quickly Reliable
More informationSequential Equivalence Checking without State Space Traversal
Sequential Equivalence Checking without State Space Traversal C.A.J. van Eijk Design Automation Section, Eindhoven University of Technology P.O.Box 53, 5600 MB Eindhoven, The Netherlands e-mail: C.A.J.v.Eijk@ele.tue.nl
More informationSignals and Systems Digital Logic System
Signals and Systems Digital Logic System Prof. Wonhee Kim Chapter 2 Design Process for Combinational Systems Step 1: Represent each of the inputs and outputs in binary Step 1.5: If necessary, break the
More informationSynchronous program verification with Lustre/Lesar
Synchronous program verification with Lustre/Lesar Pascal Raymond Apr. 2008, rev. Nov 2018 Synchronous approach has been proposed in the middle of the 80 s with the aim of reconcile concurrent programming
More informationIntelligent Agents. Formal Characteristics of Planning. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University
Intelligent Agents Formal Characteristics of Planning Ute Schmid Cognitive Systems, Applied Computer Science, Bamberg University Extensions to the slides for chapter 3 of Dana Nau with contributions by
More informationA Brief Introduction to Model Checking
A Brief Introduction to Model Checking Jan. 18, LIX Page 1 Model Checking A technique for verifying finite state concurrent systems; a benefit on this restriction: largely automatic; a problem to fight:
More informationBinary Decision Diagrams
Binary Decision Diagrams Sungho Kang Yonsei University Outline Representing Logic Function Design Considerations for a BDD package Algorithms 2 Why BDDs BDDs are Canonical (each Boolean function has its
More informationEmbedded Systems 2. REVIEW: Actor models. A system is a function that accepts an input signal and yields an output signal.
Embedded Systems 2 REVIEW: Actor models A system is a function that accepts an input signal and yields an output signal. The domain and range of the system function are sets of signals, which themselves
More informationChapter 2 : Boolean Algebra and Logic Gates
Chapter 2 : Boolean Algebra and Logic Gates By Electrical Engineering Department College of Engineering King Saud University 1431-1432 2.1. Basic Definitions 2.2. Basic Theorems and Properties of Boolean
More informationImproving Efficiency of Symbolic Model Checking for State-Based System Requirements
Improving Efficiency of Symbolic Model Checking for State-Based System Requirements William Chan Richard J. Anderson Paul Beame David Notkin {wchan,anderson,beame,notkin}@cs.washington.edu Technical Report
More informationCombinational Logic Design Combinational Functions and Circuits
Combinational Logic Design Combinational Functions and Circuits Overview Combinational Circuits Design Procedure Generic Example Example with don t cares: BCD-to-SevenSegment converter Binary Decoders
More informationHoare Logic (I): Axiomatic Semantics and Program Correctness
Hoare Logic (I): Axiomatic Semantics and Program Correctness (Based on [Apt and Olderog 1991; Gries 1981; Hoare 1969; Kleymann 1999; Sethi 199]) Yih-Kuen Tsay Dept. of Information Management National Taiwan
More informationUnit 2 Boolean Algebra
Unit 2 Boolean Algebra 2.1 Introduction We will use variables like x or y to represent inputs and outputs (I/O) of a switching circuit. Since most switching circuits are 2 state devices (having only 2
More informationIntroduction to Kleene Algebras
Introduction to Kleene Algebras Riccardo Pucella Basic Notions Seminar December 1, 2005 Introduction to Kleene Algebras p.1 Idempotent Semirings An idempotent semiring is a structure S = (S, +,, 1, 0)
More informationDepartment of Electrical & Electronics EE-333 DIGITAL SYSTEMS
Department of Electrical & Electronics EE-333 DIGITAL SYSTEMS 1) Given the two binary numbers X = 1010100 and Y = 1000011, perform the subtraction (a) X -Y and (b) Y - X using 2's complements. a) X = 1010100
More information