skip to main content
research-article

Abstract conflict driven learning

Published:23 January 2013Publication History
Skip Abstract Section

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.

Skip Supplemental Material Section

Supplemental Material

r2d1_talk5.mp4

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Cotton. Natural domain SMT: A preliminary assessment. In Proc. of Formal Modeling and Analysis of Timed Systems, pages 77--91, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Cousot. Abstract interpretation. MIT course 16.399, Feb.--May 2005.Google ScholarGoogle Scholar
  8. P. Cousot and R. Cousot. Systematic design of program analysis frameworks. In Proc. of Principles of Programming Languages, pages 269--282, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. P. Cousot and R. Cousot. Abstract interpretation and application to logic programs. Journal of Logic Programming, 13:103--179, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. Cousot and R. Cousot. Abstract interpretation frameworks. Journal of Logic and Computation, 2(4):511--547, Aug. 1992.Google ScholarGoogle ScholarCross RefCross Ref
  11. P. Cousot and R. Cousot. Refining model checking by abstract interpretation. Automated Software Engineering, 6(1):69--95, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. V. D'Silva, L. Haller, and D. Kroening. Satisfiability solvers are static analysers. In Proc. of Static Analysis Symposium, pages 317--333, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarCross RefCross Ref
  16. R. Giacobazzi and E. Quintarelli. Incompleteness, counterexamples, and refinements in abstract model-checking. In Proc. of Static Analysis Symposium, pages 356--373, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle Scholar
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. S. Malik and L. Zhang. Boolean satisfiability: From theoretical hardness to practical success. Communications of the ACM, 52:76--82, Aug. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. K. L. McMillan. Lazy annotation for program testing and verification. In Proc. of Computer Aided Verification, pages 104--118, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. K. L. McMillan, A. Kuehlmann, and M. Sagiv. Generalizing DPLL to richer logics. In Proc. of Computer Aided Verification, pages 462--476, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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
  25. X. Rival and L. Mauborgne. The trace partitioning abstract domain. ACM Transactions on Programming Languages and Systems, 29, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. N. Sörensson and A. Biere. Minimizing learned clauses. In Proc. of Theory and Applications of Satisfiability Testing, pages 237--243, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. A. Thakur and T. Reps. A Generalization of Stälmarck's Method. In Proc. of Static Analysis Symposium, pages 334--351, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. A. Thakur and T. Reps. A method for symbolic computation of abstract operations. In Proc. of Computer Aided Verification. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Abstract conflict driven learning

      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 48, Issue 1
        POPL '13
        January 2013
        561 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2480359
        Issue’s Table of Contents
        • cover image ACM Conferences
          POPL '13: Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
          January 2013
          586 pages
          ISBN:9781450318327
          DOI:10.1145/2429069

        Copyright © 2013 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 23 January 2013

        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!