Efficient SAT-based unbounded symbolic model checking using circuit cofactoring

We describe an efficient approach for SAT-based quantifier elimination that significantly improves the performance of pre-image and fixed-point computation in SAT-based unbounded symbolic model checking (UMC). The proposed method captures a larger set of new states per SAT-based enumeration step during quantifier elimination, in comparison to previous approaches. The novelty of our approach is in the use of circuit-based cofactoring to capture a large set of states, and in the use of a functional hashing based simplified circuit graph to represent the captured states. We also propose a number of heuristics to further enlarge the state set represented per enumeration, thereby reducing the number of enumeration steps. We have implemented our techniques in a SAT-based UMC framework where we show the effectiveness of SAT-based existential quantification on public benchmarks, and on a number of large industry designs that were hard to model check using purely BDD-based techniques. We show several orders of improvement in time and space using our approach over previous CNF-based approaches. We also present controlled experiments to demonstrate the role of several heuristics proposed in the paper. Importantly, we were able to prove using our method the correctness of a safety property in an industry design that could not be proved using other known approaches.

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

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

[3]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

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

[5]  H. Fujiwara,et al.  ON THE ACCELERATION OF TEST GENERATION ALGORlTHMS , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing, 1995, ' Highlights from Twenty-Five Years'..

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

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

[8]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[9]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[10]  Koen Claessen,et al.  SAT-Based Verification without State Space Traversal , 2000, FMCAD.

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

[12]  Parosh Aziz Abdulla,et al.  Symbolic Reachability Analysis Based on SAT-Solvers , 2000, TACAS.

[13]  Armin Biere,et al.  Combining Decision Diagrams and SAT Procedures for Efficient Symbolic Model Checking , 2000, CAV.

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

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

[16]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[17]  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).

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

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

[20]  Adnan Aziz,et al.  Improved SAT-based bounded reachability analysis , 2002, Proceedings of ASP-DAC/VLSI Design 2002. 7th Asia and South Pacific Design Automation Conference and 15h International Conference on VLSI Design.

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

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

[23]  Zijiang Yang,et al.  Iterative Abstraction using SAT-based BMC with Proof Analysis , 2003, ICCAD 2003.

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

[25]  Michael S. Hsiao,et al.  Efficient preimage computation using a novel success-driven ATPG , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[26]  Kenneth L. McMillan,et al.  Interpolation and SAT-Based Model Checking , 2003, CAV.

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