Improving SAT-based bounded model checking by means of BDD-based approximate traversals

Binary Decision Diagrams (BDDs) have been widely used for hardware verification since the beginning of the '90s, whereas Boolean Satisfiability (SAT) has been gaining ground more recently, with the introduction of Bounded Model Checking (BMC). In this paper we dovetail BDD and SAT based methods to improve the efficiency of BMC More specifically, we first exploit inexpensive symbolic approximate reachability analysis to gather information on the state space. We then use the above information to restrict and focus the overall search space of SAT based BMC. In the experimental results section we show how the information coming from a BDD tool can improve the efficiency of a SAT engine by drastically reducing the number of "variable assignments" and "variable conflicts". This results in a significant overall performance gain associated with a general, robust, and easy-to-apply methodology.

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

[2]  Lawrence Ryan Efficient algorithms for clause-learning SAT solvers , 2004 .

[3]  Priyank Kalla,et al.  Integrating CNF and BDD based SAT solvers , 2003, Eighth IEEE International High-Level Design Validation and Test Workshop.

[4]  Fausto Giunchiglia,et al.  NUSMV: A New Symbolic Model Verifier , 1999, CAV.

[5]  Wolfgang Kunz,et al.  SAT and ATPG: Boolean engines for formal hardware verification , 2002, ICCAD 2002.

[6]  Gianpiero Cabodi,et al.  Efficient state space pruning in symbolic backward traversal , 1994, Proceedings 1994 IEEE International Conference on Computer Design: VLSI in Computers and Processors.

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

[8]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[9]  Bart Selman,et al.  Ten Challenges Redux: Recent Progress in Propositional Reasoning and Search , 2003, CP.

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

[11]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

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

[13]  Fabio Somenzi,et al.  CirCUs: A Hybrid Satisfiability Solver , 2004, SAT.

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

[15]  David L. Dill,et al.  Verification by approximate forward and backward reachability , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[16]  Chao Wang,et al.  Abstraction and BDDs Complement SAT-Based BMC in DiVer , 2003, CAV.

[17]  Eduard Cerny,et al.  An Approach to Unified Methodology of Combinational Switching Circuits , 1977, IEEE Transactions on Computers.

[18]  Mary Sheeran,et al.  Checking Safety Properties Using Induction and a SAT-Solver , 2000, FMCAD.

[19]  David Bryan,et al.  Combinational profiles of sequential benchmark circuits , 1989, IEEE International Symposium on Circuits and Systems,.

[20]  Sharad Malik,et al.  Partition-based decision heuristics for image computation using SAT and BDDs , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[21]  Alan J. Hu,et al.  Approximate reachability with BDDs using overlapping projections , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[22]  G. Cabodi,et al.  Improved reachability analysis of large finite state machines , 1996, ICCAD 1996.

[23]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[24]  Gianpiero Cabodi,et al.  Can BDDs compete with SAT solvers on bounded model checking? , 2002, DAC '02.

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

[26]  Enrico Macii,et al.  Algorithms for approximate FSM traversal based on state space decomposition , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[28]  Per Bjesse,et al.  Finding Bugs in an Alpha Microprocessor Using Satisfiability Solvers , 2001, CAV.

[29]  G. Hachtel,et al.  Approximate Reachability Don't Cares for CTL model checking , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[30]  James H. Kukula,et al.  Checking satisfiability of a conjunction of BDDs , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[31]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[32]  Sharad Malik,et al.  The Quest for Efficient Boolean Satisfiability Solvers , 2002, CAV.

[33]  Kenneth L. McMillan An interpolating theorem prover , 2005, Theor. Comput. Sci..

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

[35]  David L. Dill,et al.  Verification by approximate forward and backward reachability , 1998, ICCAD '98.