Hybrid BDD and All-SAT Method for Model Checking

We present a new hybrid BDD and SAT-based algorithm for model checking. Our algorithm is based on backward search, where each pre-image computation consists of an efficient All-SAT procedure. The All-SAT procedure exploits a graph representation of the model to dynamically prune the search space, thus preventing unnecessary search in large sub-spaces, and for identifying independent sub-problems. Apart from the SAT mechanisms, BDD structures are used for storing the input to, and output of the pre-image computation. In this way, our hybrid approach enjoys the benefits of both worlds: on the one hand, basing the pre-image computation on SAT technology avoids expensive BDD quantification operations and the corresponding state space blow up. On the other hand, our model checking framework still enjoys the advantages of symbolic space reduction in holding intermediate images. Furthermore, our All-SAT analyzes the model and avoids redundant exploration of sub-spaces that are completely full with solutions, paying in these cases for the instantiation of a single assignment only. We implemented our algorithm using the zChaff SAT solver and the CUDD BDD library. Experimental results show a potential for substantial improvement over existing model checking schemes.

[1]  Clark W. Barrett,et al.  Combining SAT Methods with Non-Clausal Decision Heuristics , 2005, D/PDPAR@IJCAR.

[2]  Chao Wang,et al.  Learning from BDDs in SAT-based bounded model checking , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[3]  Aarti Gupta,et al.  Integrating a Boolean satisfiability checker and BDDs for combinational equivalence checking , 1998, Proceedings Eleventh International Conference on VLSI Design.

[4]  Kwang-Ting Cheng,et al.  An efficient sequential SAT solver with improved search strategies , 2005, Design, Automation and Test in Europe.

[5]  Sharad Malik,et al.  Combining strengths of circuit-based and CNF-based algorithms for a high-performance SAT solver , 2002, DAC '02.

[6]  Fabio Somenzi,et al.  CUDD: CU Decision Diagram Package Release 2.2.0 , 1998 .

[7]  Zijiang Yang,et al.  Dynamic detection and removal of inactive clauses in SAT with application in image computation , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[8]  Chu Min Li,et al.  Heuristics Based on Unit Propagation for Satisfiability Problems , 1997, IJCAI.

[9]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[10]  E. Clarke,et al.  Using SAT based image computation for reachability analysis , 2003 .

[11]  SchusterAssaf,et al.  A Scalable Parallel Algorithm for Reachability Analysis of Very Large Circuits , 2002 .

[12]  Sharad Malik,et al.  Extracting Logic Circuit Structure from Conjunctive Normal Form Descriptions , 2007, 20th International Conference on VLSI Design held jointly with 6th International Conference on Embedded Systems (VLSID'07).

[13]  Edmund M. Clarke,et al.  Symbolic Model Checking with Partitioned Transistion Relations , 1991, VLSI.

[14]  Jarrod A. Roy,et al.  Restoring Circuit Structure from SAT Instances , 2004 .

[15]  Shuvendu K. Lahiri,et al.  A Symbolic Approach to Predicate Abstraction , 2003, CAV.

[16]  M. K. Iyer,et al.  SATORI - A Fast Sequential SAT Engine for Circuits , 2003, ICCAD 2003.

[17]  Sharad Malik,et al.  Considering circuit observability don't cares in CNF satisfiability , 2005, Design, Automation and Test in Europe.

[18]  Andreas Kuehlmann Dynamic transition relation simplification for bounded property checking , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[19]  Ofer Strichman,et al.  Tuning SAT Checkers for Bounded Model Checking , 2000, CAV.

[20]  Karem A. Sakallah,et al.  Conflict analysis in search algorithms for propositional satisfiability , 1996 .

[21]  Dan Roth,et al.  On the Hardness of Approximate Reasoning , 1993, IJCAI.

[22]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[23]  Ilan Beer,et al.  Efficient Model Checking by Automated Ordering of Transition Relation Partitions , 1994, CAV.

[24]  Wolfgang Küchlin,et al.  Parallel propositional satisfiability checking with distributed dynamic learning , 2003, Parallel Comput..

[25]  Hantao Zhang,et al.  SATO: An Efficient Propositional Prover , 1997, CADE.

[26]  Fabio Somenzi,et al.  CirCUs: A Satisfiability Solver Geared towards Bounded Model Checking , 2004, CAV.

[27]  Joao Marques-Silva,et al.  Algorithms for solving Boolean satisfiability in combinational circuits , 1999, Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).

[28]  Malay K. Ganai,et al.  Circuit-based Boolean reasoning , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[29]  Fabio Somenzi,et al.  Prime clauses for fast enumeration of satisfying assignments to Boolean circuits , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[30]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002, Discret. Appl. Math..

[31]  In-Cheol Park,et al.  SAT-based unbounded symbolic model checking , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[32]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[33]  Michael S. Hsiao,et al.  State set management for SAT-based unbounded model checking , 2005, 2005 International Conference on Computer Design.

[34]  Maria Paola Bonacina,et al.  PSATO: a Distributed Propositional Prover and its Application to Quasigroup Problems , 1996, J. Symb. Comput..

[35]  Daniel Kroening,et al.  A SAT-based algorithm for reparameterization in symbolic simulation , 2004, Proceedings. 41st Design Automation Conference, 2004..

[36]  Zijiang Yang,et al.  Efficient distributed SAT and SAT-based distributed Bounded Model Checking , 2003, International Journal on Software Tools for Technology Transfer.

[37]  Zijiang Yang,et al.  SAT-Based Image Computation with Application in Reachability Analysis , 2000, FMCAD.

[38]  Assaf Schuster,et al.  Memory Efficient All-Solutions SAT Solver and Its Application for Reachability Analysis , 2004, FMCAD.

[39]  Mark Wallace,et al.  Principles and Practice of Constraint Programming – CP 2004 , 2004, Lecture Notes in Computer Science.

[40]  Kenneth L. McMillan,et al.  Applying SAT Methods in Unbounded Symbolic Model Checking , 2002, CAV.

[41]  Toby Walsh,et al.  Solving Non-clausal Formulas with DPLL search , 2004, SAT.

[42]  Wolfgang Küchlin,et al.  PaSAT - Parallel SAT-Checking with Lemma Exchange: Implementation and Applications , 2001, Electron. Notes Discret. Math..

[43]  Masahiro Fujita,et al.  Symbolic model checking using SAT procedures instead of BDDs , 1999, DAC '99.

[44]  Aarti Gupta,et al.  Efficient SAT-based unbounded symbolic model checking using circuit cofactoring , 2004, IEEE/ACM International Conference on Computer Aided Design, 2004. ICCAD-2004..

[45]  Kwang-Ting Cheng,et al.  Safety property verification using sequential SAT and bounded model checking , 2004, IEEE Design & Test of Computers.

[46]  Hideo Fujiwara,et al.  On the Acceleration of Test Generation Algorithms , 1983, IEEE Transactions on Computers.

[47]  Bin Li,et al.  A novel SAT all-solutions solver for efficient preimage computation , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.