Abstraction Refinement with Craig Interpolation and Symbolic Pushdown Systems

  • Javier Esparza
  • Stefan Kiefer
  • Stefan Schwoon
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3920)

Abstract

Counterexample-guided abstraction refinement (CEGAR) has proven to be a powerful method for software model-checking. In this paper, we investigate this concept in the context of sequential (possibly recursive) programs whose statements are given as BDDs. We examine how Craig interpolants can be computed efficiently in this case and propose a new, special type of interpolants. Moreover, we show how to treat multiple counterexamples in one refinement cycle. We have implemented this approach within the model-checker Moped and report on experiments.

References

  1. 1.
    Ball, T., Rajamani, S.: Automatically validating temporal safety properties of interfaces. In: Dwyer, M.B. (ed.) SPIN 2001. LNCS, vol. 2057, pp. 103–122. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  2. 2.
    Henzinger, T., Jhala, R., Majumdar, R., Sutre, G.: Lazy abstraction. In: Proc. POPL 2002, pp. 58–70. ACM Press, New York (2002)Google Scholar
  3. 3.
    Chaki, S., Clarke, E., Groce, A., Jha, S., Veith, H.: Modular verification of software components in C. In: Proc. 25th International Conference on Software Engineering (ICSE), pp. 385–395. IEEE Computer Society Press, Los Alamitos (2003)Google Scholar
  4. 4.
    Clarke, E., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 154–169. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  5. 5.
    Schwoon, S.: Model-Checking Pushdown Systems. PhD thesis, TU München (2002)Google Scholar
  6. 6.
    Henzinger, T., Jhala, R., Majumdar, R., McMillan, K.: Abstractions from proofs. In: Proc. POPL 2004, pp. 232–244. ACM Press, New York (2004)Google Scholar
  7. 7.
    Reps, T., Schwoon, S., Jha, S., Melski, D.: Weighted pushdown systems and their application to interprocedural dataflow analysis. Science of Computer Programming 58, 206–263 (2005); Special Issue on the Static Analysis Symposium 2003.MathSciNetCrossRefMATHGoogle Scholar
  8. 8.
    Glusman, M., Kamhi, G., Mador-Haim, S., Fraer, R., Vardi, M.: Multiplecounterexample guided iterative abstraction refinement: An industrial evaluation. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 176–191. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. 9.
    McMillan, K.: Applications of Craig interpolants in model checking. In: [17], pp. 1–12Google Scholar
  10. 10.
    Esparza, J., Kiefer, S., Schwoon, S.: Abstraction refinement with Craig interpolation and symbolic pushdown systems. Technical Report 2006/02, University of Stuttgart (2006)Google Scholar
  11. 11.
    McMillan, K.: Interpolation and SAT-based Model Checking. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 1–13. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  12. 12.
    Craig, W.: Linear reasoning. A new form of the Herbrand-Genzen theorem. Journal of Symbolic Logic 22, 250–268 (1957)MathSciNetCrossRefMATHGoogle Scholar
  13. 13.
    Kiefer, S.: Abstraction refinement for pushdown systems. Master’s thesis, University of Stuttgart (2005)Google Scholar
  14. 14.
    Suwimonteerabuth, D., Schwoon, S., Esparza, J.: jMoped: A Java bytecode checker based on Moped. In: [17], pp. 541–545Google Scholar
  15. 15.
    Weiss, M.: Data Structures and Algorithm Analysis in Java. Addison-W, Reading (1998)Google Scholar
  16. 16.
    Jhala, R., Majumdar, R.: Path slicing. In: Proc. of PLDI 2005, pp. 38–47. ACM, New York (2005)Google Scholar
  17. 17.
    Halbwachs, N., Zuck, L.D. (eds.): TACAS 2005. LNCS, vol. 3440. Springer, Heidelberg (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Javier Esparza
    • 1
  • Stefan Kiefer
    • 1
  • Stefan Schwoon
    • 1
  1. 1.Institute for Formal Methods in Computer ScienceUniversity of StuttgartGermany

Personalised recommendations