1 / 38

Hybrid BDD and All-SAT Method for Model Checking

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.

erv
Download Presentation

Hybrid BDD and All-SAT Method for Model Checking

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

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

  8. All-SAT – Blocking Clauses • Find allthe 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.

  9. X3 X5 0 1 X1 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 1 0 0 1 0 1

  10. 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.

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

  12. 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.

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

  14. 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:

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

  16. 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 X2=0 X2=1 X2 i3 i1=1 i2=1

  17. 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.

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

  19. 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.

  20. 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

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

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

  23. 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.

  24. 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.

  25. 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.

  26. 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.

  27. 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

  28. 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.

  29. 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.

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

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

  32. 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.

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

  34. 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

  35. 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

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

  37. The End

More Related