Skip to main content

Nested Hoare Triples and Frame Rules for Higher-Order Store

  • Conference paper
Book cover Computer Science Logic (CSL 2009)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5771))

Included in the following conference series:

Abstract

Separation logic is a Hoare-style logic for reasoning about programs with heap-allocated mutable data structures. As a step toward extending separation logic to high-level languages with ML-style general (higher-order) storage, we investigate the compatibility of nested Hoare triples with several variations of higher-order frame rules.

The interaction of nested triples and frame rules can be subtle, and the inclusion of certain frame rules is in fact unsound. A particular combination of rules can be shown consistent by means of a Kripke model where worlds live in a recursively defined ultrametric space. The resulting logic allows us to elegantly prove programs involving stored code. In particular, it leads to natural specifications and proofs of invariants required for dealing with recursion through the store.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. America, P., Rutten, J.J.M.M.: Solving reflexive domain equations in a category of complete metric spaces. J. Comput. Syst. Sci. 39(3), 343–375 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  2. Birkedal, L., Reus, B., Schwinghammer, J., Yang, H.: A simple model of separation logic for higher-order store. In: Aceto, L., Damgård, I., Goldberg, L.A., Halldórsson, M.M., Ingólfsdóttir, A., Walukiewicz, I. (eds.) ICALP 2008, Part II. LNCS, vol. 5126, pp. 348–360. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  3. Birkedal, L., Støvring, K., Thamsborg, J.: Realizability semantics of parametric polymorphism, general references, and recursive types. In: FOSSACS 2009. LNCS, vol. 5504, pp. 456–470. Springer, Heidelberg (2009)

    Google Scholar 

  4. Birkedal, L., Torp-Smith, N., Yang, H.: Semantics of separation-logic typing and higher-order frame rules for Algol-like languages. Log. Methods Comput. Sci. 2(5:1) (2006)

    Google Scholar 

  5. Honda, K., Yoshida, N., Berger, M.: An observationally complete program logic for imperative higher-order functions. In: LICS, pp. 270–279. IEEE Computer Society Press, Los Alamitos (2005)

    Google Scholar 

  6. Krishnaswami, N., Birkedal, L., Aldrich, J., Reynolds, J.: Idealized ML and Its Separation Logic (2007), http://www.cs.cmu.edu/~neelk/

  7. Nanevski, A., Morrisett, G., Shinnar, A., Govereau, P., Birkedal, L.: Ynot: dependent types for imperative programs. In: ICFP, pp. 229–240. ACM Press, New York (2008)

    Chapter  Google Scholar 

  8. O’Hearn, P.W., Pym, D.J.: The logic of bunched implications. B. Symb. Log. 5(2), 215–244 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  9. Parkinson, M., Biermann, G.: Separation logic, abstraction and inheritance. In: POPL, pp. 75–86. ACM Press, New York (2008)

    Google Scholar 

  10. Pitts, A.M.: Relational properties of domains. Inf. Comput. 127, 66–90 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  11. Pottier, F.: Hiding local state in direct style: a higher-order anti-frame rule. In: LICS, pp. 331–340. IEEE Computer Society Press, Los Alamitos (2008)

    Google Scholar 

  12. Reus, B., Schwinghammer, J.: Separation logic for higher-order store. In: Ésik, Z. (ed.) CSL 2006. LNCS, vol. 4207, pp. 575–590. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  13. Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: LICS, pp. 55–74. IEEE Computer Society Press, Los Alamitos (2002)

    Google Scholar 

  14. Smyth, M.B., Plotkin, G.D.: The category-theoretic solution of recursive domain equations. SIAM J. Comput. 11(4), 761–783 (1982)

    Article  MathSciNet  MATH  Google Scholar 

  15. Streicher, T.: Domain-theoretic Foundations of Functional Programming. World Scientific, Singapore (2006)

    Book  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Schwinghammer, J., Birkedal, L., Reus, B., Yang, H. (2009). Nested Hoare Triples and Frame Rules for Higher-Order Store. In: Grädel, E., Kahle, R. (eds) Computer Science Logic. CSL 2009. Lecture Notes in Computer Science, vol 5771. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04027-6_32

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-04027-6_32

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-04026-9

  • Online ISBN: 978-3-642-04027-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics