Skip to main content Accessibility help
×
Home

A step-indexed Kripke model of hidden state

  • JAN SCHWINGHAMMER (a1), LARS BIRKEDAL (a2), FRANÇOIS POTTIER (a3), BERNHARD REUS (a4), KRISTIAN STØVRING (a5) and HONGSEOK YANG (a6)...

Abstract

Frame and anti-frame rules have been proposed as proof rules for modular reasoning about programs. Frame rules allow the hiding of irrelevant parts of the state during verification, whereas the anti-frame rule allows the hiding of local state from the context.

We discuss the semantic foundations of frame and anti-frame rules, and present the first sound model for Charguéraud and Pottier's type and capability system including both of these rules. The model is a possible worlds model based on the operational semantics and step-indexed heap relations, and the worlds are given by a recursively defined metric space. We also extend the model to account for Pottier's generalised frame and anti-frame rules, where invariants are generalised to families of invariants indexed over preorders. This generalisation enables reasoning about some well-bracketed as well as (locally) monotone uses of local state.

Copyright

References

Hide All
Ahmed, A., Dreyer, D. and Rossberg, A. (2009) State-dependent representation independence. In: Proceedings of POPL 340–353.
America, P. and Rutten, J. J. M. M. (1989) Solving reflexive domain equations in a category of complete metric spaces. Journal of Computer and System Sciences 39 (3)343375.
Appel, A. W. and McAllester, D. A. (2001) An indexed model of recursive types for foundational proof-carrying code. ACM Transactions on Programming Languages and Systems 23 (5)657683.
Benton, N., Birkedal, L., Kennedy, A. and Varming, C. (2010) Formalizing domains, ultrametric spaces and semantics of programming languages (draft).
Biering, B., Birkedal, L. and Torp-Smith, N. (2007) BI-hyperdoctrines, higher-order separation logic, and abstraction. ACM Transactions on Programming Languages and Systems 29 (5).
Birkedal, L., Reus, B., Schwinghammer, J. and Yang, H. (2008) A simple model of separation logic for higher-order store. In: Proceedings of ICALP 348–360.
Birkedal, L., Reus, B., Schwinghammer, J., Støvring, K., Thamsborg, J. and Yang, H. (2011) Step-indexed Kripke models over recursive worlds. In: Proceedings of POPL 119–132.
Birkedal, L., Støvring, K. and Thamsborg, J. (2009) Realizability semantics of parametric polymorphism, general references, and recursive types. In: Proceedings of FOSSACS 456–470.
Birkedal, L., Støvring, K. and Thamsborg, J. (2010) The category-theoretic solution of recursive metric-space equations. Theoretical Computer Science 411 (47)41024122.
Birkedal, L., Torp-Smith, N. and Yang, H. (2006) Semantics of separation-logic typing and higher-order frame rules for Algol-like languages. Logical Methods in Computer Science 2 (5:1).
Charguéraud, A. and Pottier, F. (2008) Functional translation of a calculus of capabilities. In: Proceedings of ICFP 213–224.
Dreyer, D., Neis, G. and Birkedal, L. (2010) The impact of higher-order state and control effects on local relational reasoning. In: Proceedings of ICFP.
Gotsman, A., Berdine, J., Cook, B., Rinetzky, N. and Sagiv, M. (2007) Local reasoning for storable locks and threads. Technical Report MSR-TR-2007-39, Microsoft Research.
Hobor, A., Appel, A. W. and Zappa Nardelli, F. (2008) Oracle semantics for concurrent separation logic. In: Proceedings of ESOP. Springer-Verlag Lecture Notes in Computer Science 4960 353367.
Levy, P. B. (2002) Possible world semantics for general storage in call-by-value. In: Proceedings of CSL 232–246.
Nanevski, A., Ahmed, A., Morrisett, G. and Birkedal, L. (2007) Abstract predicates and mutable ADTs in Hoare type theory. In: Proceedings of ESOP 189–204.
O'Hearn, P. W. (2007) Resources, concurrency and local reasoning. Theoretical Computer Science 375 (1-3)271307.
O'Hearn, P. W., Yang, H. and Reynolds, J. C. (2004) Separation and information hiding. In: Proceedings of POPL 268–280.
Parkinson, M. and Bierman, G. (2005) Separation logic and abstraction. In: Proceedings of POPL 247–258.
Parkinson, M. and Bierman, G. (2008) Separation logic, abstraction and inheritance. In: Proceedings of POPL 75–86.
Pierce, B. C. (2002) Types and Programming Languages, MIT Press.
Pilkiewicz, A. and Pottier, F. (2011) The essence of monotonic state. In: Proceedings of TLDI 73–86.
Pitts, A. M. (1996) Relational properties of domains. Information and Computation 127 (2)6690.
Pottier, F. (2008) Hiding local state in direct style: a higher-order anti-frame rule. In: Proceedings of LICS 331–340.
Pottier, F. (2009a) Generalizing the higher-order frame and anti-frame rules. Unpublished note, available at http://gallium.inria.fr/~fpottier.
Pottier, F. (2009b) Three comments on the anti-frame rule. Unpublished note, available at http://gallium.inria.fr/~fpottier.
Pottier, F. (2011) Syntactic soundness proof of a type-and-capability system with hidden state (submitted for publication).
Pym, D. J., O'Hearn, P. W. and Yang, H. (2004) Possible worlds and resources: the semantics of BI. Theoretical Computer Science 315 (1)257305.
Reynolds, J. C. (2002) Separation logic: A logic for shared mutable data structures. In: Proceedings of LICS 55–74.
Schwinghammer, J., Birkedal, L., Reus, B. and Yang, H. (2009) Nested Hoare triples and frame rules for higher-order store. In: Proceedings of CSL 440–454.
Schwinghammer, J., Birkedal, L. and Støvring, K. (2011) A step-indexed Kripke model of hidden state via recursive properties on recursively defined metric spaces. In: Proceedings of FOSSACS 305–319.
Schwinghammer, J., Yang, H., Birkedal, L., Pottier, F. and Reus, B. (2010) A semantic foundation for hidden state. In: Proceedings of FOSSACS 2–16.
Smith, F., Walker, D. and Morrisett, G. (2000) Alias types. In: Proceedings of ESOP. Springer-Verlag Lecture Notes in Computer Science 1782 366381.
Smyth, M. B. (1992) Topology. In: Handbook of Logic in Computer Science, volume 1, Oxford University Press.
Wright, A. K. (1995) Simple imperative polymorphism. Lisp and Symbolic Computation 8 (4)343356.

A step-indexed Kripke model of hidden state

  • JAN SCHWINGHAMMER (a1), LARS BIRKEDAL (a2), FRANÇOIS POTTIER (a3), BERNHARD REUS (a4), KRISTIAN STØVRING (a5) and HONGSEOK YANG (a6)...

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed.