Incremental preprocessing methods for use in BMC

Traditional incremental SAT solvers have achieved great success in the domain of Bounded Model Checking (BMC). Recently, modern solvers have introduced advanced preprocessing procedures that have allowed them to obtain high levels of performance. Unfortunately, many preprocessing techniques such as variable and (blocked) clause elimination cannot be directly used in an incremental manner. This work focuses on extending these techniques and Craig interpolation so that they can be used effectively together in incremental SAT solving (in the context of BMC). The techniques introduced here doubled the performance of our BMC solver on both SAT and UNSAT problems. For UNSAT problems, preprocessing had the added advantage that Craig interpolation was able to find the fixed point sooner, reducing the number of incremental SAT iterations. Furthermore, our ideas seem to perform better as the benchmarks become larger, and/or deeper, which is exactly when they are needed. Lastly, our methods can be integrated into other SAT based BMC tools to achieve similar speedups.

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

[2]  Bernd Becker,et al.  Multithreaded SAT Solving , 2007, 2007 Asia and South Pacific Design Automation Conference.

[3]  Nachum Dershowitz,et al.  In handbook of automated reasoning , 2001 .

[4]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[5]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .

[6]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

[7]  Dhiraj K. Pradhan,et al.  NiVER: Non Increasing Variable Elimination Resolution for Preprocessing SAT instances , 2004, SAT.

[8]  Armin Biere,et al.  Effective Preprocessing in SAT Through Variable and Clause Elimination , 2005, SAT.

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

[10]  A. Slisenko Studies in constructive mathematics and mathematical logic , 1969 .

[11]  Franz Baader,et al.  Unification theory , 1986, Decis. Support Syst..

[12]  Armin Biere,et al.  Resolve and Expand , 2004, SAT.

[13]  Niklas Sörensson,et al.  Temporal induction by incremental SAT solving , 2003, BMC@CAV.

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

[15]  Daniel Kroening,et al.  Interpolant Strength , 2010, VMCAI.

[16]  William Craig,et al.  Linear reasoning. A new form of the Herbrand-Gentzen theorem , 1957, Journal of Symbolic Logic.

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

[18]  Ofer Strichman,et al.  Accelerating Bounded Model Checking of Safety Properties , 2004, Formal Methods Syst. Des..

[19]  Bernd Becker,et al.  Advanced SAT-Techniques for Bounded Model Checking of Blackbox Designs , 2006, Seventh International Workshop on Microprocessor Test and Verification (MTV'06).

[20]  Oliver Kullmann,et al.  On a Generalization of Extended Resolution , 1999, Discret. Appl. Math..

[21]  Christoph Scholl,et al.  Advanced Unbounded Model Checking Based on AIGs, BDD Sweeping, And Quantifier Scheduling , 2006, 2006 Formal Methods in Computer Aided Design.

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

[23]  Armin Biere,et al.  Blocked Clause Elimination , 2010, TACAS.