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.
Supplemental Material
- N. Bjørner, B. Duterte, and L. de Moura. Accelerating lemma learning using joins -- DPLL(t). In LPAR, 2008.Google Scholar
- M. Brain, V. D'Silva, L. Haller, A. Griggio, and D. Kroening. An abstract interpretation of DPLL(T). In VMCAI, 2012.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- E. M. Clarke, O. Grumberg, and D. E. Long. Model checking and abstraction. ACM TOPLAS, 16(5):1512--1542, Sept. 1994. Google Scholar
Digital Library
- S. Cotton. Natural domain SMT: A preliminary assessment. In FORMATS, pages 77--91, 2010. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- P. Cousot. Abstract interpretation. MIT course 16.399, 2005.Google Scholar
- 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 Scholar
Digital Library
- P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In POPL, pages 269--282. ACM Press, 1979. Google Scholar
Digital Library
- P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming, 13(2-3):103--179, 1992. Google Scholar
Digital Library
- P. Cousot and R. Cousot. Abstract interpretation frameworks. Journal of Logic and Computation, 2(4):511--547, Aug. 1992.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- B. A. Davey and H. A. Priestley. Introduction to lattices and order. Cambridge University Press, Cambridge, UK, 1990.Google Scholar
- M. Davis and H. Putnam. A computing procedure for quantification theory. JACM, 7:201--215, July 1960. Google Scholar
Digital Library
- L. M. de Moura and D. Jovanovic. A model-constructing satisfiability calculus. In VMCAI, pages 1--12, 2013.Google Scholar
Digital Library
- V. D'Silva, L. Haller, and D. Kroening. Satisfiability solvers are static analysers. In SAS, pages 317--333. Springer, 2012. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- J.W. Freeman. Failed literals in the Davis-Putnam procedure for SAT. Technical report, Rutgers University, 1993.Google Scholar
- H. Ganzinger, G. Hagen, R. Nieuwenhuis, A. Oliveras, and C. Tinelli. DPLL(T): Fast decision procedures. In CAV, pages 175--188, 2004.Google Scholar
- R. Giacobazzi, F. Ranzato, and F. Scozzari. Making abstract interpretations complete. JACM, 47(2):361--416, 2000. Google Scholar
Digital Library
- S. Gulwani and A. Tiwari. Combining abstract interpreters. In PLDI, pages 376--386. ACM Press, 2006. Google Scholar
Digital Library
- L. Haller, A. Griggio, M. Brain, and D. Kroening. Deciding floatingpoint logic with systematic abstraction. In FMCAD, pages 131--140, 2012.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- D. Kroening and G. Weissenbacher. An interpolating decision procedure for transitive relations with uninterpreted functions. In HVC, pages 150--168, 2011. Google Scholar
Digital Library
- W. Lawvere. Adjointness in foundations. Dialectica, 23:281--296, 1969.Google Scholar
Cross Ref
- 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 Scholar
- K. L. McMillan. Interpolation and SAT-based model checking. In CAV, pages 1--13, 2003.Google Scholar
- K. L. McMillan, A. Kuehlmann, and M. Sagiv. Generalizing DPLL to richer logics. In CAV, pages 462--476, 2009. Google Scholar
Digital Library
- O. Meir and O. Strichman. Yet another decision procedure for equality logic. In CAV, pages 307--320, 2005. Google Scholar
Digital Library
- D. Monniaux and L. Gonnord. Using bounded model checking to focus fixpoint iterations. In SAS, pages 369--385, 2011. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- T. W. Reps, S. Sagiv, and G. Yorsh. Symbolic implementation of the best transformer. In VMCAI, pages 252--266, 2004.Google Scholar
Cross Ref
- P. Smith. The Galois connection of syntax and semantics. Technical report, Cambridge University, 2010.Google Scholar
- P. J. Stuckey. There are no CNF problems. SAT, pages 19--21, 2013. Google Scholar
Digital Library
- A. Thakur and T. Reps. A generalization of Stålmarck's method. In SAS. Springer, 2012. Google Scholar
Digital Library
- A. V. Thakur and T. W. Reps. A method for symbolic computation of abstract operations. In CAV, 2012. Google Scholar
Digital Library
- A. Tiwari and S. Gulwani. Logical interpretation: Static program analysis using theorem proving. In CADE, pages 147--166, 2007. Google Scholar
Digital Library
- 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 Scholar
Index Terms
Abstract satisfaction
Recommendations
Abstract satisfaction
POPL '14: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesThis 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. ...
Deciding floating-point logic with abstract conflict driven clause learning
We present a bit-precise decision procedure for the theory of floating-point arithmetic. The core of our approach is a non-trivial, lattice-theoretic generalisation of the conflict-driven clause learning algorithm in modern sat solvers to lattice-based ...
Model checking memoryful linear-time logics over one-counter automata
We study complexity of the model-checking problems for LTL with registers (also known as freeze LTL and written LTL"^@7) and for first-order logic with data equality tests (written FO^(~,<,+1)) over one-counter automata. We consider several classes of ...







Comments