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.
Similar content being viewed by others
References
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–425
Alpern B, Schneider FB (1985) Defining liveness. Inf Process Lett 21:181–185
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–432
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–207
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–77
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–165
Bryant RE (1986) Graph-based algorithms for Boolean function manipulation. IEEE Trans Comput C-35(8):677–691
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–250
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–51
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–279
Clarke EM, Grumberg O, Peled DA (1999) Model checking. MIT Press, Cambridge, MA
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/
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–891
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–309
Kurshan RP (1994) Computer-aided verification of coordinating processes. Princeton University Press, Princeton, NJ
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–17
McMillan KL (1994) Symbolic model checking. Kluwer, Boston
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–264
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–13
Milner R (1971) An algebraic definition of simulation between programs. In: Proceedings of the 2nd international joint conference on artificial intelligence, pp 481–489
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–535
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–125
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–138
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–40
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–545
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–415
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–885
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Li, B., Wang, C. & Somenzi, F. Abstraction refinement in symbolic model checking using satisfiability as the only decision procedure. Int J Softw Tools Technol Transfer 7, 143–155 (2005). https://doi.org/10.1007/s10009-004-0169-2
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-004-0169-2