Hybrid BDD and All-SAT Method for Model Checking

Slides:



Advertisements
Similar presentations
Exploiting SAT solvers in unbounded model checking
Advertisements

Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Time-Space Tradeoffs in Resolution: Superpolynomial Lower Bounds for Superlinear Space Chris Beck Princeton University Joint work with Paul Beame & Russell.
Presented by Monissa Mohan 1.  A highly optimized BCP algorithm  Two watched literals  Fast Backtracking  Efficient Decision Heuristic  Focused on.
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Appendix: Other ATPG algorithms 1. TOPS – Dominators Kirkland and Mercer (1987) n Dominator of g – all paths from g to PO must pass through the dominator.
SAT Based Abstraction/Refinement in Model-Checking Based on work by E. Clarke, A. Gupta, J. Kukula, O. Strichman (CAV’02)
Interactive Configuration
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Algorithms + L. Grewe.
Time-Space Tradeoffs in Resolution: Superpolynomial Lower Bounds for Superlinear Space Chris Beck Princeton University Joint work with Paul Beame & Russell.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
1/30 SAT Solver Changki PSWLAB SAT Solver Daniel Kroening, Ofer Strichman.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
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:
Weizmann Institute Tuning SAT-checkers for Bounded Model-Checking A bounded guided tour Ofer Shtrichman Weizmann Institute & IBM (HRL)
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
SAT-Based Decision Procedures for Subsets of First-Order Logic
Efficient SAT Solving for Non- clausal Formulas using DPLL, Graphs, and Watched-cuts Himanshu Jain Edmund M. Clarke.
1 Satisfiability Checking of Non-clausal Formulas using General Matings Himanshu Jain Constantinos Bartzis Edmund Clarke Carnegie Mellon University.
Sanjit A. Seshia and Randal E. Bryant Computer Science Department
State-of-the-art in SAT solvers
GRASP SAT solver Presented by Constantinos Bartzis Slides borrowed from Pankaj Chauhan J. Marques-Silva and K. Sakallah.
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
A Compressed Breadth-First Search for Satisfiability DoRon B. Motter and Igor L. Markov University of Michigan, Ann Arbor.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
Weizmann Institute Tuning SAT-checkers for Bounded Model-Checking A bounded guided tour Ofer Shtrichman Weizmann Institute & IBM-HRL.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
Cardinality & Sorting Networks. Cardinality constraint Appears in many practical problems: scheduling, timetabling etc’. Also takes place in the Max-Sat.
Binary Decision Diagrams (BDDs)
Quantified Formulas - Decision Procedure Daniel Kroening, Ofer Strichman Presented by Changki Hong 07 NOV 08.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
NP Complexity By Mussie Araya. What is NP Complexity? Formal Definition: NP is the set of decision problems solvable in polynomial time by a non- deterministic.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Boolean Satisfiability Present and Future
Finding Models for Blocked 3-SAT Problems in Linear Time by Systematical Refinement of a Sub- Model Gábor Kusper Eszterházy Károly.
1 Distributed BDD-based Model Checking Orna Grumberg Technion, Israel Joint work with Tamir Heyman, Nili Ifergan, and Assaf Schuster CAV00, FMCAD00, CAV01,
Satisfiability and SAT Solvers CS 270 Math Foundations of CS Jeremy Johnson.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
1 Boolean Satisfiability (SAT) Class Presentation By Girish Paladugu.
1 Computing Abstractions by integrating BDDs and SMT Solvers Alessandro Cimatti Fondazione Bruno Kessler, Trento, Italy Joint work with R. Cavada, A. Franzen,
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Sudoku Solutions Using Logic Equations Christian Posthoff The University of The West Indies, Trinidad & Tobago Bernd Steinbach Freiberg University of Mining.
1 Advanced course on: Parallel and Distributed Model Checking Lecture 1 – Lecturers: Orna Grumberg, Computer Science Dept, Technion Karen Yorav,
Lecture 3: Uninformed Search
Introduction to Software Verification
Chih-Fan Lai1, J.-H. Roland Jiang1, and Kuo-Hua Wang2
The Analysis of Cyclic Circuits with Boolean Satisfiability
Consistency Methods for Temporal Reasoning
Recovering and Exploiting Structural Knowledge from CNF Formulas
Distributed Dynamic BDD Reordering
Introduction to Software Verification
Simple Circuit-Based SAT Solver
Applying Logic Synthesis for Speeding Up SAT
A Boolean Paradigm in Multi-Valued Logic Synthesis
LPSAT: A Unified Approach to RTL Satisfiability
SAT-Based Area Recovery in Technology Mapping
ECE 667 Synthesis and Verification of Digital Circuits
Decision Procedures An Algorithmic Point of View
A Progressive Approach for Satisfiability Modulo Theories
Canonical Computation without Canonical Data Structure
SAT-based Methods: Logic Synthesis and Technology Mapping
SAT/SMT seminar 18/02/2018 Computing multiple MUSes (Minimal Unsatisfiable Subformulas) and MSISes (Minimal Safe Inductive Subsets) Alexander Ivrii IBM.
GRASP-an efficient SAT solver
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Presentation transcript:

Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology

Contribution of this Work Hybrid All-SAT and BDD model checking Exploit the strength of each method. Avoid drawbacks of both methods. Dual representation for All-SAT solving Exploit efficient SAT procedures. bcp(), conflict driven learning. Extract information from the structure of a model. Simplify and speedup the All-SAT solving process Minimize the representation of solutions.

Model Checking – Pre-image Computation Pre-image(S) – The set of predecessors of states in S. - state variables, - input variables. - Transition Relation. - set of states.

Model Checking Checking of a safety property AGp: Input for the algorithm is S0,Tr and P. Start with the error states. Iteratively look for states in S0.

Model Checking Requires operations on sets Union, intersection, and quantification. Common representation of sets: BDDs Union and intersection - polynomial in the size of the BDDs. Quantification – exponential in the size of the BDD. Explosion of intermediate results during pre-image computation.

All-SAT Pre-image Computation Each solution describes: A current-state not in . A valid transition. A next-state in new. We need all the solutions which differ in the assignment to . Represent different current-states.

Model Checking – Hybrid Method Use BDD operations for all but pre-image computation

All-SAT – Blocking Clauses Find all the satisfying assignments (solutions) of a formula. Extend the SAT algorithm: Create a clause to block each solution found. Resume search with the new clause added. Common in All-SAT tools. Direct and simple, natural for the solver. Disadvantage: Rapid space growth of the solver.

All-SAT – Blocking BDDs [Gupta et al] A partial assignment A agrees with a BDD B if there is a path from the root of B to the node ‘1’. Values of the nodes in the path correspond to A. A1: x1=1,x8=0. A2: x1=0,x5=1 A3: x3=0,x5=0 X1 1 X3 X5 1 1 1

All-SAT – Blocking BDDs Restrict the search space of a SAT solver by a BDD B. Check if the current partial assignment agrees with B each time variables from B are assigned. Backtrack if the assignment does not agree. Use for All-SAT Add each solution to a BDD S. Force agreement with S.

Our Hybrid Pre-image computation Look for all the assignments to which can be extended to a solution for: new and S* are given as BDDs. Restrict the search by the BDD of ¬S*. new will be discussed later. Tr is in CNF. Return a BDD of the solutions Its negation is used for blocking known solutions.

All-SAT Decision Heuristic Add a graph representation of the transition relation to the All-SAT solver. Use information from the graph for making decisions in the All-SAT solver. Find sets of solutions instead of single ones. Compute dynamic transition relation. Detect independent sub-problems. Reduce sub-problems to SAT.

Transition Relation Graph (TRG) Partitioned Transition Relation: v3 x’2 x’1 v1 v2 v2 v1 v3 x’: next-state x: current-state i: input v: intermediate i1 i2 X2 i3 X1

Transition Relation Graph The intermediate variables exists in the CNF representation of Tr. The operator of a variable is represented by a set of clauses:

TRG – Justification Assignment to a node can be justified by its successors. x’2 x’1 v2 v1=0 v3=0 v3 i1 i2 X1 X2 i3

All-SAT TRG-Based Decision Decision i+1 justifies decision i. If not needed –justify a new root. If all roots are justified – a solution was found. x’2=1 x’1=1 v2=1 v2 v1 v3 Backtrack to change the value of at least one current state variable. i1 i2 X1 i1=1 i2=1 X2=0 X2=1 X2 i3

All-SAT TRG-Based Decision A solution is a justification of an assignment to the roots. Represents a set of current states. Less instantiations of assignments. Each assignment is instantiated more quickly. Smaller representation of the solutions.

All-SAT TRG-Based Decision Values of the roots – all the assignments in new x’1 TRG x’4 x’3 x’2 x’1=0 x’1 x’3 x’2 x’4=0 x’3=0 x’2=0 x’1=1 x’4 1

All-SAT TRG-Based Decision A solution is a justification of an assignment to the roots. Represents a set of current states. Less instantiations of assignments. Each assignment is instantiated more quickly. Smaller representation of the solutions. DFS over the BDD of new Handle sets of assignments from new at once. Avoid repetition of justifications.

All-SAT TRG-Based Decision Computes sets of current states (justifications) for each subset of new Unlike All-SAT which handles a single assignment at a time Unlike BDDs that can compute the set of all current states for new at once

All-SAT optimizations Independent Roots Determined statically or dynamically. Sub-problems can be solved independently. x’2=1 x’2 x’1 v2 v1 v3 i1 i2 i1=1 X2 i3 X1

All-SAT optimizations Non-important roots Determined statically or dynamically. Reduce sub-problems to SAT. x’2=1 x’2 x’1 v2 v1 v3 i2 X3 x’2=1 X2 i3 X1

Hybrid Model Checking – Final Notes Dynamic transition relation Only variables of each path in the BDD of new are justified. Incremental learning of the All-SAT solver Learning is independent of the current iteration.

Experimental Results Experiments were done on ISCAS89 and ISCAS99 benchmarks 50~6000 state variables Compared to a BDD model checker Results are not consistent for all models For each model, one method constantly performed better than the other. For most models memory requirements is lower.

Experimental Results On “good” examples, less time is spent on quantification and more on Boolean operations Quantification is faster Independent Roots and Non-Important Roots enhance performance.

Conclusion Hybrid All-SAT and BDD model checking Exploit the strength of each method. Avoid drawbacks of both methods. Dual representation All-SAT solving Exploit efficient SAT procedures. bcp(), conflict driven learning. Extract information from the structure of a model. Simplify and speedup the All-SAT solving process Minimize the representation of solutions.

Extensions Parallel All-SAT model checking Adaptation of All-SAT solver for general All-SAT problems. Optimizations of the current All-SAT scheme for model checking

Parallel All-SAT Model Checking Distribute the pre-image computation. Split the space of solutions into windows. A window is represented by a partial assignment to the current-state variables. A solution is an extension to the partial assignment of the window. Split the space to as many subspaces as needed for maintaining CPU load balance.

Parallel All-SAT Model Checking Each node only instantiates solutions in its window.  Split S* according to the window. Reduce the space requirement of a node. Prefer memory load balance over CPU load balance.

Parallel All-SAT Model Checking Init Find solutions in window Merge new for next iteration.

Parallel All-SAT Model Checking Use conflict clauses incrementally. Share conflict clauses among nodes. Adapt to grid computation.

TRG for General All-SAT Extract a ‘circuit-like’ structure from general CNF formulae. Gain more information about the formulae. Incorporate additional information into the TRG, according to the type of problem being solved.

TRG for General All-SAT Extract a ‘circuit-like’ structure from general CNF formulae. v3 v4 v1 v2 a d c b e

Optimizations – Early Quantification in BDD For a partitioned transition relation and an order f1…fn, define Order the functions such that fi+1 shares the most current state variables with f1..fi. Group related variables

Optimizations – Early Quantification in the Hybrid method Assign and justify the roots of the TRG (next-state variables) in the order determined by early quantification Order the variables in the BDD new accordingly

Optimizations – Success Learning Store the set of solutions for a cut. x’1=0 x’1=0 v2=0 v1 v2 v1=0 v3=0 v3=0

The End