Skip to main content

Quantitative Separation Logic and Programs with Lists

  • Conference paper
Automated Reasoning (IJCAR 2008)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 5195))

Included in the following conference series:

Abstract

This paper presents an extension of a decidable fragment of Separation Logic for singly-linked lists, defined by Berdine, Calcagno and O’Hearn [8]. Our main extension consists in introducing atomic formulae of the form ls k(x, y) describing a list segment of length k, stretching from x to y, where k is a logical variable interpreted over positive natural numbers, that may occur further inside Presburger constraints.

We study the decidability of the full first-order logic combining unrestricted quantification of arithmetic and location variables. Although the full logic is found to be undecidable, validity of entailments between formulae with the quantifier prefix in the language \(\exists^*{\{\exists_\mathbb{N},\forall_\mathbb{N}\}^*}\) We provide here a model theoretic method, based on a parametric notion of shape graphs.

We have implemented our decision technique, providing a fully automated framework for the verification of quantitative properties expressed as pre- and post-conditions on programs working on lists and integer counters.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ARMC, http://www.mpi-sb.mpg.de/~rybal/armc/

  2. ASPIC, http://www-verimag.imag.fr/~gonnord/aspic/aspic.html

  3. L2CA, http://www-verimag.imag.fr/~async/L2CA/l2ca.html

  4. Smallfoot, http://www.dcs.qmul.ac.uk/research/logic/theory/projects/smallfoot/index.html

  5. Annichini, A., Bouajjani, A., Sighireanu, M.: Trex: A tool for reachability analysis of complex systems. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 368–372. Springer, Heidelberg (2001)

    Google Scholar 

  6. Bardin, S., Finkel, A., Leroux, J., Petrucci, L.: Fast: Fast accelereation of symbolic transition systems. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988. Springer, Heidelberg (2004)

    Google Scholar 

  7. Benedikt, M., Reps, T., Sagiv, M.: A decidable logic for describing linked data structures. In: Swierstra, S.D. (ed.) ESOP 1999. LNCS, vol. 1576. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  8. Berdine, J., Calcagno, C., O’Hearn, P.: A Decidable Fragment of Separation Logic. In: Lodaya, K., Mahajan, M. (eds.) FSTTCS 2004. LNCS, vol. 3328. Springer, Heidelberg (2004)

    Google Scholar 

  9. Bouajjani, A., Bozga, M., Habermehl, P., Iosif, R., Moro, P., Vojnar, T.: Programs with lists are counter automata. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  10. Bozga, M., Iosif, R., Perarnau, S.: Quantitative separation logic and programs with lists. Technical Report TR 2007-9, VERIMAG (2007)

    Google Scholar 

  11. Burstall, R.M.: Some techniques for proving correctness of programs which alter data structures. Machine Intelligence 7, 23–50 (1972)

    MATH  Google Scholar 

  12. Gulwani, S., McCloskey, B., Tiwari, A.: Lifting abstract interpreters to quantified logical domains. In: Proc. 35th ACM SIGPLAN-SIGACT symposium on Principles of programming languages. ACM Press, New York (2008)

    Google Scholar 

  13. Gulwani, S., Tiwari, A.: An abstract domain for analyzing heap-manipulating low-level software. In: Proc. Intl. Conference on Computer Aided Verification (2007)

    Google Scholar 

  14. Immerman, N., Rabinovich, A., Reps, T., Sagiv, M., Yorsh, G.: Verification via Structure Simulation. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114. Springer, Heidelberg (2004)

    Google Scholar 

  15. Ishtiaq, S., O’Hearn, P.: BI as an assertion language for mutable data structures. In: POPL (2001)

    Google Scholar 

  16. Klaedtke, F., Ruess, H.: Monadic second-order logics with cardinalities. In: Proc. 30th International Colloquium on Automata, Languages and Programming. LNCS. Springer, Heidelberg (2003)

    Google Scholar 

  17. Magill, S., Berdine, J., Clarke, E., Cook, B.: Arithmetic Strengthening for Shape Analysis. In: Riis Nielson, H., Filé, G. (eds.) SAS 2007. LNCS, vol. 4634. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  18. Minsky, M.: Computation: Finite and Infinite Machines. Prentice-Hall, Englewood Cliffs (1967)

    MATH  Google Scholar 

  19. O’Hearn, P., Calcagno, C., Yang, H.: Computability and Complexity Results for a Spatial Assertion Language for Data Structures. In: Hariharan, R., Mukund, M., Vinay, V. (eds.) FSTTCS 2001. LNCS, vol. 2245. Springer, Heidelberg (2001)

    Google Scholar 

  20. Presburger, M.: Über die Vollstandigkeit eines gewissen Systems der Arithmetik. Comptes rendus du I Congrés des Pays Slaves, Warsaw (1929)

    Google Scholar 

  21. Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: Proc. 17th IEEE Symposium on Logic in Computer Science. LNCS. Springer, Heidelberg (2002)

    Google Scholar 

  22. Wolper, P., Boigelot, B.: Verifying systems with infinite but regular state spaces. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 88–97. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  23. Yorsh, G., Rabinovich, A., Sagiv, M., Meyer, A., Bouajjani, A.: A logic of reachable patterns in linked data-structures. In: Proc. Foundations of Software Science and Computation Structures. LNCS. Springer, Heidelberg (2006)

    Google Scholar 

  24. Zhang, T., Sipma, H., Manna, Z.: Decision procedures for recursive data structures with integer constraints. In: Proc. Intl. Joint Conference of Automated Reasoning (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Alessandro Armando Peter Baumgartner Gilles Dowek

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bozga, M., Iosif, R., Perarnau, S. (2008). Quantitative Separation Logic and Programs with Lists. In: Armando, A., Baumgartner, P., Dowek, G. (eds) Automated Reasoning. IJCAR 2008. Lecture Notes in Computer Science(), vol 5195. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71070-7_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-71070-7_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-71069-1

  • Online ISBN: 978-3-540-71070-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics