Skip to main content

Industrial-Strength Certified SAT Solving through Verified SAT Proof Checking

  • Conference paper
Theoretical Aspects of Computing – ICTAC 2010 (ICTAC 2010)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 6255))

Included in the following conference series:

Abstract

Boolean Satisfiability (SAT) solvers are now routinely used in the verification of large industrial problems. However, their application in safety-critical domains such as the railways, avionics, and automotive industries requires some form of assurance for the results, as the solvers can (and sometimes do) have bugs. Unfortunately, the complexity of modern and highly optimized SAT solvers renders impractical the development of direct formal proofs of their correctness. This paper presents an alternative approach where an untrusted, industrial-strength, SAT solver is plugged into a trusted, formally verified, SAT proof checker to provide industrial-strength certified SAT solving. The key characteristics of our approach are (i) that the checker is not tied to a specific SAT solver but certifies any solver respecting the agreed format for satisfiability and unsatisfiability claims, (ii) that the checker is automatically extracted from the formal development, and (iii) that the combined system can be used as a standalone executable program independent of any supporting theorem prover. The core of the system is a checker for unsatisfiability claims that is formally designed and verified in Coq. We present its formal design and outline the correctness criteria. The actual standalone checker is automatically extracted from the the Coq development. An evaluation of the checker on a representative set of industrial benchmarks from the SAT Race Competition shows that, albeit it is slower than uncertified SAT checkers, it is significantly faster than certified checkers implemented on top of an interactive theorem prover.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Angelo, C.M., Claesen, L., De Man, H.: Degrees of formality in shallow embedding hardware description languages in HOL. In: Joyce, J.J., Seger, C.-J.H. (eds.) HUG 1993. LNCS, vol. 780, pp. 89–100. Springer, Heidelberg (1994)

    Google Scholar 

  2. Beame, P., Kautz, H.A., Sabharwal, A.: Towards understanding and harnessing the potential of clause learning. J. Artif. Intell. Res. 22, 319–351 (2004)

    MATH  MathSciNet  Google Scholar 

  3. Bertot, Y., Castéran, P.: Interactive theorem proving and program development. Coq’Art: The calculus of inductive constructions (2004)

    Google Scholar 

  4. Biere, A.: PicoSAT essentials. J. Satisfiability, Boolean Modeling and Computation 4, 75–97 (2008)

    MATH  Google Scholar 

  5. Biere, A., Cimatti, A., Clarke, E., Strichman, O., Zhu, Y.: Bounded Model Checking. In: Advances in Computers. Academic Press, London (2003)

    Google Scholar 

  6. Bulwahn, L., Krauss, A., Haftmann, F., Erkök, L., Matthews, J.: Imperative functional programming with Isabelle/HOL. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) TPHOLs 2008. LNCS, vol. 5170, pp. 134–149. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  7. Coquand, T., Huet, G.: The Calculus of Constructions. Inf. Comput. 76(2-3), 95–120 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  8. Coquand, T., Paulin, C.: Inductively defined types. In: Martin-Löf, P., Mints, G. (eds.) COLOG 1988. LNCS, vol. 417, pp. 50–66. Springer, Heidelberg (1990)

    Google Scholar 

  9. Een, N., Sorensson, N.: An extensible sat-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  10. Goldberg, E.I., Novikov, Y.: Verification of proofs of unsatisfiability for CNF formulas. In: Proc. Design, Automation and Test in Europe, pp. 10886–10891. IEEE, Los Alamitos (2003)

    Google Scholar 

  11. Hammarberg, J., Nadjm-Tehrani, S.: Formal verification of fault tolerance in safety-critical reconfigurable modules. J. Software Tools for Technology Transfer 7(3), 268–279 (2005)

    Article  Google Scholar 

  12. Leroy, X., Blazy, S.: Formal Verification of a C-like Memory Model and its uses for Verifying Program Transformations. J. Automated Reasoning 41(1), 1–31 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  13. Lescuyer, S., Conchon, S.: A reflexive formalization of a SAT solver in Coq. In: Proc. Emerging Trends of TPHOLs (2008)

    Google Scholar 

  14. Marić, F.: Formalization and implementation of modern SAT solvers. J. Automated Reasoning 43(1), 81–119 (2009)

    Article  MATH  Google Scholar 

  15. Moskal, M.: Rocket-fast proof checking for SMT solvers. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 486–500. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  16. Penicka, M.: Formal approach to railway applications. In: Jones, C.B., Liu, Z., Woodcock, J. (eds.) Formal Methods and Hybrid Real-Time Systems. LNCS, vol. 4700, pp. 504–520. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  17. Boulton, R., Gordon, A., Gordon, M.J.C., Herbert, J., van Tassel, J.: Experience with embedding hardware description languages in HOL. In: Proc. of the International Conference on Theorem Provers in Circuit Design: Theory, Practice and Experience, pp. 129–156. North-Holland, Amsterdam (1992)

    Google Scholar 

  18. Robinson, J.A.: A Machine-Oriented Logic Based on the Resolution Principle. J. ACM 12(1), 23–41 (1965)

    Article  MATH  Google Scholar 

  19. Russell, S.J., Norvig, P.: Artificial Intelligence: A Modern Approach, 2nd edn. Prentice Hall, Englewood Cliffs (2003)

    Google Scholar 

  20. SAT 2007 Competition (2007), http://www.cril.univ-artois.fr/SAT07/results/globalbysolver.php?idev=11&det=1

  21. SAT 2007 Competition - Phase 2 (2007), http://users.soe.ucsc.edu/~avg/ProofChecker/cert-poster-sat07.pdf

  22. Scott, D.S.: A type-theoretical alternative to ISWIM, CUCH, OWHY. Theor. Comput. Sci. 121(1-2), 411–440 (1993)

    Article  MATH  Google Scholar 

  23. Shankar, N.: Trust and Automation in Verification Tools. In: Cha, S(S.), Choi, J.-Y., Kim, M., Lee, I., Viswanathan, M. (eds.) ATVA 2008. LNCS, vol. 5311, pp. 4–17. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  24. Smith, D.R., Westfold, S.J.: Synthesis of propositional satisfiability solvers. Technical report, Kestrel Institute (April 2008)

    Google Scholar 

  25. Van Gelder, A.: Verifying propositional unsatisfiability: Pitfalls to avoid. In: Marques-Silva, J., Sakallah, K.A. (eds.) SAT 2007. LNCS, vol. 4501, pp. 328–333. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  26. Weber, T.: Efficiently checking propositional resolution proofs in Isabelle/HOL. In: 6th Intl. Workshop Implementation of Logics, Phnom Penh 2006 (2006)

    Google Scholar 

  27. Weber, T., Amjad, H.: Private communication

    Google Scholar 

  28. Weber, T., Amjad, H.: Efficiently checking propositional refutations in HOL theorem provers. J. Applied Logic 7(1), 26–40 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  29. Zhang, L., Malik, S.: Validating SAT solvers using an independent resolution-based checker: Practical implementations and other applications. In: Proc. Design, Automation and Test in Europe, pp. 10880–10885. IEEE, Los Alamitos (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Darbari, A., Fischer, B., Marques-Silva, J. (2010). Industrial-Strength Certified SAT Solving through Verified SAT Proof Checking. In: Cavalcanti, A., Deharbe, D., Gaudel, MC., Woodcock, J. (eds) Theoretical Aspects of Computing – ICTAC 2010. ICTAC 2010. Lecture Notes in Computer Science, vol 6255. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14808-8_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14808-8_18

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14807-1

  • Online ISBN: 978-3-642-14808-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics