SAT-based unbounded symbolic model checking

This paper describes a Boolean satisfiability checking (SAT)-based unbounded symbolic model-checking algorithm. The conjunctive normal form is used to represent sets of states and transition relation. A logical operation on state sets is implemented as an operation on conjunctive normal form formulas. A satisfy-all procedure is proposed to compute the existential quantification required in obtaining the preimage and fix point. The proposed satisfy-all procedure is implemented by modifying a SAT procedure to generate all the satisfying assignments of the input formula, which is based on new efficient techniques such as line justification to make an assignment covering more search space, excluding clause management, and two-level logic minimization to compress the set of found assignments. In addition, a cache table is introduced into the satisfy-all procedure. It is a difficult problem for a satisfy-all procedure to detect the case that a previous result can be reused. This paper shows that the case can be detected by comparing sets of undetermined variables and clauses. Experimental results show that the proposed algorithm can check more circuits than binary decision diagram-based and previous SAT-based model-checking algorithms.

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

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

[3]  E. Clarke,et al.  Symbolic Model Checking : IO * ’ States and Beyond * , 1992 .

[4]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[5]  Mark R. Greenstreet,et al.  Formal verification in hardware design: a survey , 1999, TODE.

[6]  Hoon Choi,et al.  Model checking of S3C2400X industrial embedded SOC product , 2001, DAC '01.

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

[8]  Randal E. Bryant,et al.  Efficient implementation of a BDD package , 1991, DAC '90.

[9]  Armin Biere,et al.  Bounded Model Checking Using Satisfiability Solving , 2001, Formal Methods Syst. Des..

[10]  Edmund M. Clarke,et al.  Sequential circuit verification using symbolic model checking , 1991, DAC '90.

[11]  Joao Marques-Silva,et al.  Boolean satisfiability in electronic design automation , 2000, Proceedings 37th Design Automation Conference.

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

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

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

[15]  Melvin A. Breuer,et al.  Digital systems testing and testable design , 1990 .

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

[17]  In-Cheol Park,et al.  SAT-based unbounded symbolic model checking , 2005, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[19]  C. Zheng,et al.  ; 0 ; , 1951 .

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

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

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

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

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

[25]  Edmund M. Clarke,et al.  Automatic Verification of Sequential Circuits Using Temporal Logic , 1986, IEEE Transactions on Computers.

[26]  Ieee Circuits,et al.  IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems information for authors , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.