Abstract

Modern satisfiability solvers implement an algorithm, called Conflict Driven Clause Learning, which combines search for a model with analysis of conflicts. We show that this algorithm can be generalised to solve the lattice-theoretic problem of determining if an additive transformer on a Boolean lattice is always bottom. Our generalised procedure combines overapproximations of greatest fixed points with underapproximation of least fixed points to obtain more precise results than computing fixed points in isolation. We generalise implication graphs used in satisfiability solvers to derive underapproximate transformers from overapproximate ones. Our generalisation provides a new method for static analysers that operate over non-distributive lattices to reason about properties that require disjunction.
Supplemental Material
- B. Badban, J. van de Pol, O. Tveretina, and H. Zantema. Generalizing DPLL and satisfiability for equalities. Information and Computation, 205(8):1188--1211, 2007. Google Scholar
Digital Library
- C. Barrett, R. Nieuwenhuis, A. Oliveras, and C. Tinelli. Splitting on demand in SAT modulo theories. In Proc. of Logic for Programming, Artificial Intelligence, and Reasoning, pages 512--526, 2006. Google Scholar
Digital Library
- M. Brain, V. D'Silva, L. Haller, A. Griggio, and D. Kroening. An abstract interpretation of DPLL(T). In Proc. of Verification, Model Checking and Abstract Interpretation, 2013. To appear.Google Scholar
Digital Library
- E. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. Counterexample-guided abstraction refinement for symbolic model checking. J. of the ACM, 50:752--794, 2003. Google Scholar
Digital Library
- S. Cotton. Natural domain SMT: A preliminary assessment. In Proc. of Formal Modeling and Analysis of Timed Systems, pages 77--91, 2010. Google Scholar
Digital Library
- P. Cousot. Constructive design of a hierarchy of semantics of a transition system by abstract interpretation. Theoretical Computer Science, 277(1-2):47--103, Apr. 2002. Google Scholar
Digital Library
- P. Cousot. Abstract interpretation. MIT course 16.399, Feb.--May 2005.Google Scholar
- P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Proc. of Principles of Programming Languages, pages 269--282, 1979. Google Scholar
Digital Library
- P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming, 13: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 and R. Cousot. Refining model checking by abstract interpretation. Automated Software Engineering, 6(1):69--95, 1999. Google Scholar
Digital Library
- P. Cousot, R. Cousot, and L. Mauborgne. The reduced product of abstract domains and the combination of decision procedures. In Proc. of Foundations of Software Science and Computational Structures, pages 456--472, 2011. Google Scholar
Digital Library
- V. D'Silva, L. Haller, and D. Kroening. Satisfiability solvers are static analysers. In Proc. of Static Analysis Symposium, pages 317--333, 2012. Google Scholar
Digital Library
- V. D'Silva, L. Haller, D. Kroening, and M. Tautschnig. Numeric bounds analysis with conflict-driven learning. In Proc. of Tools and Algorithms for the Construction and Analysis of Systems, pages 48--63, 2012. Google Scholar
Digital Library
- H. Ganzinger, G. Hagen, R. Nieuwenhuis, A. Oliveras, and C. Tinelli. DPLL(T): Fast decision procedures. In Proc. of Computer Aided Verification, pages 175--188, 2004.Google Scholar
Cross Ref
- R. Giacobazzi and E. Quintarelli. Incompleteness, counterexamples, and refinements in abstract model-checking. In Proc. of Static Analysis Symposium, pages 356--373, 2001. Google Scholar
Digital Library
- L. Haller, A. Griggio, M. Brain, and D. Kroening. Deciding floatingpoint logic with systematic abstraction. In Proc. of Formal Methods in Computer-Aided Design, pages 131--140, 2012.Google Scholar
- W. R. Harris, S. Sankaranarayanan, F. Ivancic, and A. Gupta. Program analysis via satisfiability modulo path programs. In Proc. of Principles of Programming Languages, 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. Formal Methods in Systems Design, 23(3):303--327, Nov. 2003. Google Scholar
Digital Library
- D. Jovanovic and L. M. de Moura. Cutting to the chase - solving linear integer arithmetic. In Proc. of Automated Deduction, pages 338--353, 2011. Google Scholar
Digital Library
- S. Malik and L. Zhang. Boolean satisfiability: From theoretical hardness to practical success. Communications of the ACM, 52:76--82, Aug. 2009. Google Scholar
Digital Library
- K. L. McMillan. Lazy annotation for program testing and verification. In Proc. of Computer Aided Verification, pages 104--118, 2010. Google Scholar
Digital Library
- K. L. McMillan, A. Kuehlmann, and M. Sagiv. Generalizing DPLL to richer logics. In Proc. of Computer Aided Verification, pages 462--476, 2009. Google Scholar
Digital Library
- 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
- X. Rival and L. Mauborgne. The trace partitioning abstract domain. ACM Transactions on Programming Languages and Systems, 29, 2007. Google Scholar
Digital Library
- N. Sörensson and A. Biere. Minimizing learned clauses. In Proc. of Theory and Applications of Satisfiability Testing, pages 237--243, 2009. Google Scholar
Digital Library
- A. Thakur and T. Reps. A Generalization of Stälmarck's Method. In Proc. of Static Analysis Symposium, pages 334--351, 2012. Google Scholar
Digital Library
- A. Thakur and T. Reps. A method for symbolic computation of abstract operations. In Proc. of Computer Aided Verification. Springer, 2012. Google Scholar
Digital Library
Index Terms
Abstract conflict driven learning
Recommendations
Abstract conflict driven learning
POPL '13: Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesModern satisfiability solvers implement an algorithm, called Conflict Driven Clause Learning, which combines search for a model with analysis of conflicts. We show that this algorithm can be generalised to solve the lattice-theoretic problem of ...
Partial algebras and complexity of satisfiability and universal theory for distributive lattices, boolean algebras and Heyting algebras
Characterizations are given for the classes of partial subalgebras of distributive lattices, boolean algebras and Heyting algebras. Thereby, complexity results are obtained for the satisfiability of quantifier-free first-order sentences in these ...
Constraint Satisfaction Problems in Clausal Form II: Minimal Unsatisfiability and Conflict Structure
Concluding this mini-series of 2 articles on the foundations of generalised clause-sets, we study the combinatorial properties of non-boolean conjunctive normal forms (clause-sets), allowing arbitrary (but finite) sets of values for variables, while ...







Comments