On Bounded Reachability of Programs with Set Comprehensions

  • Margus Veanes
  • Ando Saabas
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5330)

Abstract

We analyze the bounded reachability problem of programs that use abstract data types and set comprehensions. Such programs are common as high-level executable specifications of complex protocols. We prove decidability and undecidability results of restricted cases of the problem and extend the Satisfiability Modulo Theories approach to support analysis of set comprehensions over tuples and bag axioms. We use the Z3 solver for our implementation and experiments, and we use AsmL as the modeling language.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Armando, A., Mantovani, J., Platania, L.: Bounded model checking of software using SMT solvers instead of SAT solvers. In: Valmari, A. (ed.) SPIN 2006. LNCS, vol. 3925, pp. 146–162. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. 2.
    Armando, A., Ranise, S., Rusinowitch, M.: A rewriting approach to satisfiability procedures. Inf. Comput. 183(2), 140–164 (2003)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Barnett, M., Chang, B.-Y.E., DeLine, R., Jacobs, B., Leino, K.R.M.: Boogie: A modular reusable verifier for object-oriented programs. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2005. LNCS, vol. 4111, pp. 364–387. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  4. 4.
    Bès, A.: A survey of arithmetical definability, A tribute to Maurice Boffa, Special Issue of Belg. Math. Soc., 1–54 (2002)Google Scholar
  5. 5.
    Biere, A., Cimatti, A., Clarke, E., Zhu, Y.: Symbolic model checking without BDDs. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 193–207. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  6. 6.
    Börger, E., Grädel, E., Gurevich, Y.: The Classical Decision Problem. Springer, Heidelberg (1997)CrossRefMATHGoogle Scholar
  7. 7.
    Bouillaguet, C., Kuncak, V., Wies, T., Zee, K., Rinard, M.: On using first-order theorem provers in the Jahob data structure verification system. Technical Report MIT-CSAIL-TR-2006-072, Massachusetts Institute of Technology (November 2006)Google Scholar
  8. 8.
    Bradley, A.R., Manna, Z., Sipma, H.B.: What’s decidable about arrays? In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 427–442. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Clarke, E.M., 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
  10. 10.
    de Moura, L., Bjørner, N.: Z3: An efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  11. 11.
    de Moura, L.M., Rueß, H., Sorea, M.: Lazy theorem proving for bounded model checking over infinite domains. In: Voronkov, A. (ed.) CADE 2002. LNCS, vol. 2392, pp. 438–455. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. 12.
    Fischer, M.J., Rabin, M.O.: Super-exponential complexity of Presburger arithmetic. In: SIAMAMS, pp. 27–41 (1974)Google Scholar
  13. 13.
    Grieskamp, W., Gurevich, Y., Schulte, W., Veanes, M.: Generating finite state machines from abstract state machines. SIGSOFT Softw. Eng. Notes 27(4), 112–122 (2002)CrossRefGoogle Scholar
  14. 14.
    Grieskamp, W., MacDonald, D., Kicillof, N., Nandan, A., Stobie, K., Wurden, F.: Model-based quality assurance of Windows protocol documentation. In: ICST 2008, Lillehammer, Norway (April 2008)Google Scholar
  15. 15.
    Gurevich, Y.: Evolving Algebras 1993: Lipari Guide. In: Specification and Validation Methods, pp. 9–36. Oxford University Press, Oxford (1995)Google Scholar
  16. 16.
    Gurevich, Y., Rossman, B., Schulte, W.: Semantic essence of AsmL. Theor. Comput. Sci. 343(3), 370–412 (2005)MathSciNetCrossRefMATHGoogle Scholar
  17. 17.
    Gurevich, Y., Veanes, M.: Logic with equality: partisan corroboration and shifted pairing. Inf. Comput. 152(2), 205–235 (1999)MathSciNetCrossRefMATHGoogle Scholar
  18. 18.
    Gurevich, Y., Veanes, M., Wallace, C.: Can abstract state machines be useful in language theory? Theor. Comput. Sci. 376(1), 17–29 (2007)MathSciNetCrossRefMATHGoogle Scholar
  19. 19.
    Habermehl, P., Iosif, R., Vojnar, T.: What else is decidable about arrays? In: Amadio, R. (ed.) FOSSACS 2008. LNCS, vol. 4962. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  20. 20.
    Hodges, W.: Model theory. Cambridge Univ. Press, Cambridge (1995)Google Scholar
  21. 21.
    Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading (1979)MATHGoogle Scholar
  22. 22.
    Jacky, J., Veanes, M., Campbell, C., Schulte, W.: Model-based Software Testing and Analysis with C#. Cambridge University Press, Cambridge (2008)MATHGoogle Scholar
  23. 23.
    Jacobs, S., Sofronie-Stokkermans, V.: Applications of hierarchical reasoning in the verification of complex systems. ENTCS 174(8), 39–54 (2007)MATHGoogle Scholar
  24. 24.
    Kapur, D., Majumdar, R., Zarba, C.G.: Interpolation for data structures. In: SIGSOFT FSE 2006, pp. 105–116. ACM, New York (2006)Google Scholar
  25. 25.
    Kapur, D., Zarba, C.G.: A reduction approach to decision procedures (2006)Google Scholar
  26. 26.
    Kuncak, V., Nguyen, H.H., Rinard, M.: An algorithm for deciding BAPA: Boolean algebra with Presburger arithmetic. In: Nieuwenhuis, R. (ed.) CADE 2005. LNCS, vol. 3632, pp. 260–277. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  27. 27.
    Leino, R., Monahan, R.: Automatic verification of textbook programs that use comprehensions. In: FTfJP 2007, Berlin, Germany (July 2007)Google Scholar
  28. 28.
    Matiyasevich, Y.V.: Hilbert’s tenth problem. MIT Press, Cambridge (1993)MATHGoogle Scholar
  29. 29.
    Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1(2), 245–257 (1979)CrossRefMATHGoogle Scholar
  30. 30.
    NModel. Public version released (May 2008), http://www.codeplex.com/NModel
  31. 31.
    Piskac, R., Kuncak, V.: Decision procedures for multisets with cardinality constraints. In: Logozzo, F., Peled, D.A., Zuck, L.D. (eds.) VMCAI 2008. LNCS, vol. 4905, pp. 218–232. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  32. 32.
    Piskac, R., Kuncak, V.: On Linear Arithmetic with Stars. Technical Report LARA-REPORT-2008-005, EPFL (2008)Google Scholar
  33. 33.
    Rybina, T., Voronkov, A.: A logical reconstruction of reachability. In: Broy, M., Zamulin, A.V. (eds.) PSI 2003. LNCS, vol. 2890, pp. 222–237. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  34. 34.
  35. 35.
    Stump, A., Barrett, C.W., Dill, D.L., Levitt, J.R.: A decision procedure for an extensional theory of arrays. In: LICS 2001, pp. 29–37. IEEE, Los Alamitos (2001)Google Scholar
  36. 36.
    Veanes, M., Bjørner, N., Raschke, A.: An SMT approach to bounded reachability analysis of model programs. In: Suzuki, K., Higashino, T., Yasumoto, K., El-Fakih, K. (eds.) FORTE 2008. LNCS, vol. 5048. Springer, Heidelberg (2008)Google Scholar
  37. 37.
    Veanes, M., Campbell, C., Grieskamp, W., Schulte, W., Tillmann, N., Nachmanson, L.: Model-based testing of object-oriented reactive systems with Spec Explorer. In: Hierons, R.M., Bowen, J.P., Harman, M. (eds.) FORTEST 2008. LNCS, vol. 4949, pp. 39–76. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  38. 38.
    Veanes, M., Saabas, A., Bjørner, N.: Bounded reachability of model programs. Technical Report MSR-TR-2008-81, Microsoft Research (May 2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Margus Veanes
    • 1
  • Ando Saabas
    • 2
  1. 1.Microsoft ResearchRedmondUSA
  2. 2.Institute of CyberneticsTallinn University of TechnologyTallinnEstonia

Personalised recommendations