Validating SAT solvers using an independent resolution-based checker: practical implementations and other applications

As the use of SAT solvers as core engines in EDA applications grows, it becomes increasingly important to validate their correctness. In this paper, we describe the implementation of an independent resolution-based checking procedure that can check the validity of unsatisfiable claims produced by the SAT solver zchaff. We examine the practical implementation issues of such a checker and describe two implementations with different pros and cons. Experimental results show low overhead for the checking process. Our checker can work with many other modern SAT solvers with minor modifications, and it can provide information for debugging when checking fails. Finally we describe additional results that can be obtained by the validation process and briefly discuss their applications.

[1]  J. P. Marques,et al.  GRASP : A Search Algorithm for Propositional Satisfiability , 1999 .

[2]  Suresh Venkatasubramanian,et al.  On external memory graph traversal , 2000, SODA '00.

[3]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[4]  Randal E. Bryant,et al.  Effective use of Boolean satisfiability procedures in the formal verification of superscalar and VLIW microprocessors , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[5]  Bart Selman,et al.  Boosting Combinatorial Search Through Randomization , 1998, AAAI/IAAI.

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

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

[8]  Armando Tacchella,et al.  Benefits of Bounded Model Checking at an Industrial Setting , 2001, CAV.

[9]  Randal E. Bryant,et al.  Effective use of boolean satisfiability procedures in the formal verification of superscalar and VLIW , 2001, DAC '01.

[10]  Kedar S. Namjoshi,et al.  Certifying Model Checkers , 2001, CAV.

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

[12]  John Harrison,et al.  Stålmarck's Algorithm as a HOL Derived Rule , 1996, TPHOLs.

[13]  David L. Dill,et al.  Faster Proof Checking in the Edinburgh Logical Framework , 2002, CADE.

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

[15]  Rob A. Rutenbar,et al.  Satisfiability-based layout revisited: detailed routing of complex FPGAs via search-based Boolean SAT , 1999, FPGA '99.

[16]  Antonio Sassano,et al.  Restoring Satisfiability or Maintaining Unsatisfiability by finding small Unsatisfiable Subformulae , 2001, Electron. Notes Discret. Math..

[17]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002 .

[18]  Allen Van Gelder Extracting (Easily) Checkable Proofs from a Satisfiability Solver that Employs both Preorder and Postorder Resolution , 2002, ISAIM.