Skip to main content

Software Model Checking with Abstraction Refinement

  • Conference paper
  • First Online:
Book cover Verification, Model Checking, and Abstract Interpretation (VMCAI 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2575))

Abstract

Automated verification of programs is a topic of increasing interest [1],[2],[3],[4],[5],[6], [7],[8],[9],[10],[11],[12],[13]. In a recent approach known as software model checking, one tries to prove a safety property of a program by iterating three steps: (1) the construction of an abstract system for an abstraction given by predicates over sets of states, (2) the model checking (in fact, a reachability analysis) of the abstract system, and (3) the refinement of the abstraction. The third step is done by generating additional predicates from the spurious counterexamples of the abstract system, if there are any; if not, the program property is either proven or disproven, and the method terminates.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. T. Ball, A. Podelski, and S. K. Rajamani. Boolean and Cartesian abstraction for model checking C programs. In T. Margaria and W. Yi, editors, Tools and Algorithms for the Construction and Analysis of Systems, 7th International Conference, TACAS 2001, Genova, Italy, April 2-6, 2001, Proceedings, volume 2031 of LNCS, pages 268–283. Springer-Verlag, 2001.

    Google Scholar 

  2. T. Ball, A. Podelski, and S. K. Rajamani. Relative completeness of abstraction refinement for software model checking. In J.-P. Kaoen and P. Stevens, editors, Tools and Algorithms for the Construction and Analysis of Systems, 8th International Conference, TACAS 2002, Grenoble, France, April 8–12, 2002, Proceedings, volume 2280 of LNCS, pages 158–172. Springer-Verlag, 2002.

    Google Scholar 

  3. P. Cousot. Partial completeness of abstract fixpoint checking. In B. Y. Choueiry and T. Walsh, editors,Abstraction, Reformulation, and Approximation, 4th International Symposium, SARA 2000,Horseshoe Bay, Texas, USA, July 26–29, 2000, Proceedings, volume 1864of LNCS, pages 1–15. Springer, 2000.

    Google Scholar 

  4. P. Cousot and R. Cousot. On abstraction in software verification. In E. Brinksma and K. G. Larsen, editors, Computer Aided Verification, 14th International Conference, CAV 2002, Copenhagen, Denmark, July 27–31, 2002, Proceedings, volume 2404 of LNCS, pages 37–56. Springer, 2002.

    Google Scholar 

  5. R. Giacobazzi, F. Ranzato, and F. Scozzari. Making abstract interpretations complete. Journal of the ACM (JACM), 47(2):361–416, 2000.

    Article  MathSciNet  MATH  Google Scholar 

  6. J. Hatcli. and M. B. Dwyer. Using the Bandera tool set to model-check properties of concurrent Java software. In K. G. Larsen and M. Nielsen, editors, onCONCUR 2001-Concurrency Theory, 12th International Conference, Aalborg, Denmark, August 20–25, 2001, Proceedings, volume 2154 of LNCS, pages 39–58. Springer,2001.

    Google Scholar 

  7. T. A. Henzinger, R. Jhala, R. Majumdar, G. C. Necula, G. Sutre, and W. Weimer. Temporal-safety proofs for systems code. In E. Brinksma and K. G. Larsen, editors, Computer Aided Verification, 14th International Conference, CAV 2002, Copenhagen, Denmark, July 27–31, 2002, Proceedings, volume 2404 of LNCS, pages 526–538. Springer, 2002.

    Google Scholar 

  8. G. J. Holzmann. Software analysis and model checking. In E. Brinksma and K. G. Larsen, editors, Computer Aided Verification, 14th International Conference, CAV 2002, Copenhagen, Denmark, July 27–31, 2002, Proceedings, volume 2404 of LNCS, pages 1–16. Springer, 2002.

    Google Scholar 

  9. Y. Lakhnech, S. Bensalem, S. Berezin, and S. Owre. Incremental verification by abstraction. In T. Margaria and W. Yi, editors, Tools and Algorithms for the Construction and Analysis of Systems, 7th International Conference, TACAS 2001, Genova, Italy, April 2–6, 2001, Proceedings, volume 2031 of LNCS, pages 98–112. Springer-Verlag, 2001.

    Google Scholar 

  10. A. Podelski. Model checking as constraint solving. In J. Palsberg, editor, Static Analysis, 7th International Symposium, SAS 2000, Santa Barbara, CA, USA, June 29–July 1, 2000, Proceedings, volume 1824 of LNCS, pages 22–37. Springer-Verlag, 2000.

    Google Scholar 

  11. G. Ramalingam, A. Warshavsky, J. Field, D. Goyal, and M. Sagiv. Deriving specialized program analyses for certifying component-client conformance. In Proceeding of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, pages 83–94. ACM Press, 2002.

    Google Scholar 

  12. M. Sagiv, T. Reps, and R. Wilhelm. Parametric shape analysis via 3-valued logic. ACM Transactions on Programming Languages and Systems (TOPLAS), 24(3):217–298, 2002.

    Article  Google Scholar 

  13. E. Yahav. Verifying safety properties of concurrent Java programs using 3-valued logic. In H. R. Nielsen, editor, Proceedings of the 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 27–40. ACM Press, 2001.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Podelski, A. (2003). Software Model Checking with Abstraction Refinement. In: Zuck, L.D., Attie, P.C., Cortesi, A., Mukhopadhyay, S. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2003. Lecture Notes in Computer Science, vol 2575. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36384-X_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-36384-X_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-00348-9

  • Online ISBN: 978-3-540-36384-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics