skip to main content
research-article
Open Access

Abstract satisfaction

Published:08 January 2014Publication History
Skip Abstract Section

Abstract

This article introduces an abstract interpretation framework that codifies the operations in SAT and SMT solvers in terms of lattices, transformers and fixed points. We develop the idea that a formula denotes a set of models in a universe of structures. This set of models has characterizations as fixed points of deduction, abduction and quantification transformers. A wide range of satisfiability procedures can be understood as computing and refining approximations of such fixed points. These include procedures in the DPLL family, those for preprocessing and inprocessing in SAT solvers, decision procedures for equality logics, weak arithmetics, and procedures for approximate quantification. Our framework provides a unified, mathematical basis for studying and combining program analysis and satisfiability procedures. A practical benefit of our work is a new, logic-agnostic architecture for implementing solvers.

Skip Supplemental Material Section

Supplemental Material

d1_left_t8.mp4

References

  1. N. Bjørner, B. Duterte, and L. de Moura. Accelerating lemma learning using joins -- DPLL(t). In LPAR, 2008.Google ScholarGoogle Scholar
  2. M. Brain, V. D'Silva, L. Haller, A. Griggio, and D. Kroening. An abstract interpretation of DPLL(T). In VMCAI, 2012.Google ScholarGoogle Scholar
  3. M. Brain, V. D'Silva, L. Haller, A. Griggio, and D. Kroening. Interpolation-based verification of floating-point programs with abstract CDCL. In SAS, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  4. R. E. Bryant, D. Kroening, J. Ouaknine, S. A. Seshia, O. Strichman, and B. Brady. Deciding bit-vector arithmetic with abstraction. In TACAS, pages 358--372. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. E. M. Clarke, O. Grumberg, and D. E. Long. Model checking and abstraction. ACM TOPLAS, 16(5):1512--1542, Sept. 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Cotton. Natural domain SMT: A preliminary assessment. In FORMATS, pages 77--91, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Cousot. Semantic foundations of program analysis. In S. Muchnick and N. Jones, editors, Program Flow Analysis: Theory and Applications, chapter 10, pages 303--342. Prentice-Hall, Inc., 1981.Google ScholarGoogle Scholar
  8. P. Cousot. The calculational design of a generic abstract interpreter. In M. Broy and R. Steinbrüggen, editors, Calculational System Design. NATO ASI Series F. IOS Press, Amsterdam, 1999.Google ScholarGoogle Scholar
  9. P. Cousot. Abstract interpretation. MIT course 16.399, 2005.Google ScholarGoogle Scholar
  10. P. Cousot and R. Cousot. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In POPL, pages 238--252. ACM Press, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In POPL, pages 269--282. ACM Press, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming, 13(2-3):103--179, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. P. Cousot and R. Cousot. Abstract interpretation frameworks. Journal of Logic and Computation, 2(4):511--547, Aug. 1992.Google ScholarGoogle ScholarCross RefCross Ref
  14. P. Cousot, R. Cousot, and L. Mauborgne. Theories, solvers and static analysis by abstract interpretation. JACM, 59(6):31:1--31:56, Jan. 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. B. A. Davey and H. A. Priestley. Introduction to lattices and order. Cambridge University Press, Cambridge, UK, 1990.Google ScholarGoogle Scholar
  16. M. Davis and H. Putnam. A computing procedure for quantification theory. JACM, 7:201--215, July 1960. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. L. M. de Moura and D. Jovanovic. A model-constructing satisfiability calculus. In VMCAI, pages 1--12, 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. V. D'Silva, L. Haller, and D. Kroening. Satisfiability solvers are static analysers. In SAS, pages 317--333. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. V. D'Silva, L. Haller, and D. Kroening. Abstract conflict driven learning. In POPL, pages 143--154, New York, NY, USA, 2013. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. V. D'Silva, L. Haller, D. Kroening, and M. Tautschnig. Numeric bounds analysis with conflict-driven learning. In TACAS, pages 48--63. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. N. Eén and A. Biere. Effective preprocessing in SAT through variable and clause elimination. In SAT, pages 61--75, Munich, Germany, 2005. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J.W. Freeman. Failed literals in the Davis-Putnam procedure for SAT. Technical report, Rutgers University, 1993.Google ScholarGoogle Scholar
  23. H. Ganzinger, G. Hagen, R. Nieuwenhuis, A. Oliveras, and C. Tinelli. DPLL(T): Fast decision procedures. In CAV, pages 175--188, 2004.Google ScholarGoogle Scholar
  24. R. Giacobazzi, F. Ranzato, and F. Scozzari. Making abstract interpretations complete. JACM, 47(2):361--416, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. Gulwani and A. Tiwari. Combining abstract interpreters. In PLDI, pages 376--386. ACM Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. L. Haller, A. Griggio, M. Brain, and D. Kroening. Deciding floatingpoint logic with systematic abstraction. In FMCAD, pages 131--140, 2012.Google ScholarGoogle Scholar
  27. W. R. Harris, S. Sankaranarayanan, F. Ivančić, and A. Gupta. Program analysis via satisfiability modulo path programs. In POPL, pages 71--82, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. T. A. Henzinger, O. Kupferman, and S. Qadeer. From pre-historic to post-modern symbolic model checking. FMSD, 23(3):303--327, Nov. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. M. J. H. Heule, M. Järvisalo, and A. Biere. Efficient CNF simplification based on binary implication graphs. In SAT, pages 201--215, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. D. Kroening, J. Ouaknine, S. A. Seshia, and O. Strichman. Abstraction-based satisfiability solving of Presburger arithmetic. In CAV, pages 308--320, July 2004.Google ScholarGoogle Scholar
  31. D. Kroening and G. Weissenbacher. An interpolating decision procedure for transitive relations with uninterpreted functions. In HVC, pages 150--168, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. W. Lawvere. Adjointness in foundations. Dialectica, 23:281--296, 1969.Google ScholarGoogle ScholarCross RefCross Ref
  33. K. R. M. Leino and F. Logozzo. Using widenings to infer loop invariants inside an SMT solver, or: A theorem prover as abstract domain. In Workshop on Invariant Generation, pages 70--84. RISC Report 07-07, 2007.Google ScholarGoogle Scholar
  34. K. L. McMillan. Interpolation and SAT-based model checking. In CAV, pages 1--13, 2003.Google ScholarGoogle Scholar
  35. K. L. McMillan, A. Kuehlmann, and M. Sagiv. Generalizing DPLL to richer logics. In CAV, pages 462--476, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. O. Meir and O. Strichman. Yet another decision procedure for equality logic. In CAV, pages 307--320, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. D. Monniaux and L. Gonnord. Using bounded model checking to focus fixpoint iterations. In SAS, pages 369--385, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. I. Németi. Algebraization of quantifier logics, an introductory overview. Studia Logica: An International Journal for Symbolic Logic, 50(3/4):485--569, 1991.Google ScholarGoogle Scholar
  39. R. Nieuwenhuis, A. Oliveras, and C. Tinelli. Solving SAT and SAT modulo theories: From an abstract Davis-Putnam-Logemann- Loveland procedure to DPLL(T). JACM, 53:937--977, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. A. M. Pitts. Categorical logic. In S. Abramsky, D. M. Gabbay, and T. S. E. Maibaum, editors, Handbook of Logic in Computer Science, Volume 5. Algebraic and Logical Structures, chapter 2, pages 39--128. Oxford University Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. T. W. Reps, S. Sagiv, and G. Yorsh. Symbolic implementation of the best transformer. In VMCAI, pages 252--266, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  42. P. Smith. The Galois connection of syntax and semantics. Technical report, Cambridge University, 2010.Google ScholarGoogle Scholar
  43. P. J. Stuckey. There are no CNF problems. SAT, pages 19--21, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. A. Thakur and T. Reps. A generalization of Stålmarck's method. In SAS. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. A. V. Thakur and T. W. Reps. A method for symbolic computation of abstract operations. In CAV, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. A. Tiwari and S. Gulwani. Logical interpretation: Static program analysis using theorem proving. In CADE, pages 147--166, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. O. Tveretina. DPLL-based procedure for equality logic with uninterpreted functions. In IJCAR Doctoral Programme, volume 106 of CEUR Workshop Proceedings. CEUR-WS.org, 2004.Google ScholarGoogle Scholar

Index Terms

  1. Abstract satisfaction

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 49, Issue 1
            POPL '14
            January 2014
            661 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/2578855
            Issue’s Table of Contents
            • cover image ACM Conferences
              POPL '14: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
              January 2014
              702 pages
              ISBN:9781450325448
              DOI:10.1145/2535838

            Copyright © 2014 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 8 January 2014

            Check for updates

            Qualifiers

            • research-article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!