Abstraction refinement in symbolic model checking using satisfiability as the only decision procedure

Special section on Bounded Model Checking

Abstract

We present an abstraction refinement algorithm for model checking of safety properties that relies exclusively on a SAT solver for checking the abstract model, testing abstract counterexamples on the concrete model, and refinement. Model checking of the abstractions is based on bounded model checking extended with checks for the existence of simple paths that help in deciding passing properties. All minimum-length spurious counterexamples are eliminated in one refinement step by an incremental procedure that combines the analysis of the conflict dependency graph produced by the SAT solver while looking for concrete counterexamples with an effective refinement minimization procedure.

Keywords

Bounded model checking Abstraction refinement Satisfiability problem Unsatisfiability proof 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abdulla PA, Bjesse P, Eén N (2000) Symbolic reachability analysis based on SAT-solvers. In: 6th international conference on tools and algorithms for the construction of systems (TACAS). Lecture notes in computer science, vol 1785. Springer, Berlin Heidelberg New York, pp 411–425Google Scholar
  2. 2.
    Alpern B, Schneider FB (1985) Defining liveness. Inf Process Lett 21:181–185MathSciNetCrossRefGoogle Scholar
  3. 3.
    Brayton RK et al. (1996) VIS: A system for verification and synthesis. In: Henzinger T, Alur R (eds) 8th conference on computer-aided verification (CAV’96). Lecture notes in computer science, vol 1102. Springer, Berlin Heidelberg New York, pp 428–432Google Scholar
  4. 4.
    Biere A, Cimatti A, Clarke E, Zhu Y (1999) Symbolic model checking without BDDs. In: 5th international conference on tools and algorithms for construction and analysis of systems (TACAS’99), Amsterdam, The Netherlands, March 1999. Lecture notes in computer science, vol 1579. Springer, Berlin Heidelberg New York, pp 193–207Google Scholar
  5. 5.
    Barner S, Geist D, Gringauze A (2002) Symbolic localization reduction with reconstruction layering and backtracking. In: Brinksma E, Larsen KG (eds) 14th conference on computer-aided verification (CAV 2002), July 2002. Lecture notes in computer science, vol 2404. Springer, Berlin Heidelberg New York, pp 65–77Google Scholar
  6. 6.
    Baumgartner J, Kuehlmann A, Abraham J (2002) Property checking via structural analysis. In: Brinksma E, Larsen KG (eds) 14th conference on computer-aided verification (CAV’02), July 2002. Lecture notes in computer science, vol 2404. Springer, Berlin Heidelberg New York, pp 151–165Google Scholar
  7. 7.
    Bryant RE (1986) Graph-based algorithms for Boolean function manipulation. IEEE Trans Comput C-35(8):677–691Google Scholar
  8. 8.
    Cousot P, Cousot R (1977) Abstract interpretation: a unified lattice model for static analysis of programs by constructions or approximation of fixpoints. In: Proceedings of the ACM symposium on the principles of programming languages, pp 238–250Google Scholar
  9. 9.
    Chauhan P, Clarke E, Kukula J, Sapra S, Veith H, Wang D (2002) Automated abstraction refinement for model checking large state spaces using SAT based conflict analysis. In: Aagaard MD, O’Leary JW (eds) Formal methods in computer aided design, November 2002. Lecture notes in computer science, vol 2517. Springer, Berlin Heidelberg New York, pp 33–51Google Scholar
  10. 10.
    Clarke E, Gupta A, Kukula J, Strichman O (2002) SAT based abstraction-refinement using ILP and machine learning. In: Brinksma E, Larsen KG (eds) 14th conference on computer-aided verification (CAV 2002), July 2002. Lecture notes in computer science, vol 2404. Springer, Berlin Heidelberg New York, pp 265–279Google Scholar
  11. 11.
    Clarke EM, Grumberg O, Peled DA (1999) Model checking. MIT Press, Cambridge, MAGoogle Scholar
  12. 12.
    Eén N, Sörensson N (2003) Temporal induction by incremental SAT solving. In: 1st international workshop on bounded model checking. Electronic notes in theoretical computer science, 89(4). http://www.elsevier.nl/locate/entcs/Google Scholar
  13. 13.
    Goldberg E, Novikov Y (2003) Verification of proofs of unsatisfiability for CNF formulas. In: Design, automation and test in Europe (DATE’03), Munich, Germany, March 2003, pp 886–891Google Scholar
  14. 14.
    Kröning D, Strichman O (2003) Efficient computation of recurrence diameters. In: 4th international conference on verification, model checking, and abstract interpretation, January 2003. Lecture notes in computer science, vol 2575. Springer, Berlin Heidelberg New York, pp 298–309Google Scholar
  15. 15.
    Kurshan RP (1994) Computer-aided verification of coordinating processes. Princeton University Press, Princeton, NJGoogle Scholar
  16. 16.
    McMillan KL, Amla N (2003) Automatic abstraction without counterexamples. In: International conference on tools and algorithms for construction and analysis of systems (TACAS’03), Warsaw, Poland, April 2003. Lecture notes in computer science, vol 2619. Springer, Berlin Heidelberg New York, pp 2–17Google Scholar
  17. 17.
    McMillan KL (1994) Symbolic model checking. Kluwer, BostonGoogle Scholar
  18. 18.
    McMillan KL (2002) Applying SAT methods in unbounded symbolic model checking. In: Brinksma E, Larsen KG (eds) 14th conference on computer-aided verification (CAV’02), July 2002. Lecture notes in computer science, vol 2404. Springer, Berlin Heidelberg New York, pp 250–264Google Scholar
  19. 19.
    McMillan KL (2003) Interpolation and SAT-based model checking. In: Hunt WA Jr, Somenzi F (eds) 15th conference on computer-aided verification (CAV’03), July 2003. Lecture notes in computer science, vol 2725. Springer, Berlin Heidelberg New York, pp 1–13Google Scholar
  20. 20.
    Milner R (1971) An algebraic definition of simulation between programs. In: Proceedings of the 2nd international joint conference on artificial intelligence, pp 481–489Google Scholar
  21. 21.
    Moskewicz M, Madigan CF, Zhao Y, Zhang L, Malik S (2001) Chaff: Engineering an efficient SAT solver. In: Proceedings of the design automation conference, Las Vegas, June 2001, pp 530–535Google Scholar
  22. 22.
    Sheeran M, Singh S, Stålmarck G (2000) Checking safety properties using induction and a SAT-solver. In: Hunt WA Jr, Johnson SD (eds) Formal methods in computer-aided design, November 2000. Lecture notes in computer science, vol 1954. Springer, Berlin Heidelberg New York, pp 108–125Google Scholar
  23. 23.
    Williams P, Biere A, Clarke EM, Gupta A (2000) Combining decision diagrams and SAT procedures for efficient symbolic model checking. In: Emerson EA, Sistla AP (eds) 12th conference on computer-aided verification (CAV’00), July 2000. Lecture notes in computer science, vol 1855. Springer, Berlin Heidelberg New York, pp 124–138Google Scholar
  24. 24.
    Wang D, Ho P-H, Long J, Kukula J, Zhu Y, Ma T, Damiano R (2001) Formal property verification by abstraction refinement with formal, simulation and hybrid engines. In: Proceedings of the design automation conference, Las Vegas, June 2001, pp 35–40Google Scholar
  25. 25.
    Whittemore J, Kim J, Sakallah K (2001) SATIRE: A new incremental satisfiability engine. In: Proceedings of the design automation conference, Las Vegas, June 2001, pp 542–545Google Scholar
  26. 26.
    Wang C, Li B, Jin H, Hachtel GD, Somenzi F (2003) Improving Ariadne’s bundle by following multiple threads in abstraction refinement. In: Proceedings of the international conference on computer-aided design, November 2003, pp 408–415Google Scholar
  27. 27.
    Zhang L, Malik S (2003) Validating SAT solvers using an independent resolution-based checker: practical implementations and other applications. In: Design, automation and test in Europe (DATE’03), Munich, Germany, March 2003, pp 880–885Google Scholar

Copyright information

© Springer-Verlag 2005

Authors and Affiliations

  1. 1.University of Colorado at BoulderUSA

Personalised recommendations