Abstract
Local reasoning about programs exploits the natural local behaviour common in programs by focussing on the footprint - that part of the resource accessed by the program. We address the problem of formally characterising and analysing the footprint notion for abstract local functions introduced by Calcagno, O’Hearn and Yang. With our definition, we prove that the footprints are the only essential elements required for a complete specification of a local function. We also show that, for well-founded models (which is usually the case in practice), a smallest specification always exists that only includes the footprints, thus formalising the notion of small axioms in local reasoning. We also present results for the non-well-founded case, and introduce the natural class of one-step local functions for which the footprints are the smallest safe states.
Chapter PDF
Similar content being viewed by others
References
Berdine, J., Calcagno, C., Cook, B., Distefano, D., O’Hearn, P., Wies, T., Yang, H.: Shape Analysis for Composite Data Structures. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, Springer, Heidelberg (2007)
Berdine, J., Calcagno, C., O’Hearn, P.W.: Smallfoot: Automatic modular assertion checking with separation logic. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2005. LNCS, vol. 4111, Springer, Heidelberg (2006)
Birkedal, L., Yang, H.: Relational parametricity and separation logic. In: Seidl, H. (ed.) FOSSACS 2007. LNCS, vol. 4423, Springer, Heidelberg (2007)
Bornat, R., Calcagno, C., O’Hearn, P., Parkinson, M.: Permission accounting in separation logic. In: 32nd POPL (2005)
Bornat, R., Calcagno, C., Yang, H.: Variables as resource in separation logic. In: 21st MFPS (2005)
Brookes, S.D.: A semantics for concurrent separation logic. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, Springer, Heidelberg (2004)
Calcagno, C., Gardner, P., Zarfaty, U.: Context logic and tree update. In: 32nd POPL (2005)
Calcagno, C., Gardner, P., Zarfaty, U.: Local Reasoning about Data Update. In: Gordon Plotkin’s festschrift, ENTCS (2007)
Calcagno, C., O’Hearn, P., Yang, H.: Local Action and Abstract Separation Logic (Longer version). In: LICS (2007)
Isthiaq, S., O’Hearn, P.W.: BI as an assertion language for mutable data structures. In: 28th POPL (2001)
Morgan, C.C.: The specification statement. In: ACM Transactions on Programming Languages and Systems (1988)
O’Hearn, P.: Resources, concurrency and local reasoning. Theoretical Computer Science, Preliminary version appeared in CONCUR 2004 (2007)
O’Hearn, P., Reynolds, J., Yang, H.: Local reasoning about programs that alter data structures. In: Fribourg, L. (ed.) CSL 2001. LNCS, vol. 2142, Springer, Heidelberg (2001)
O’Hearn, P.W., Pym, D.J.: The logic of bunched implications. In: Bulletin of Symbolic Logic (1999)
Parkinson, M., Bornat, R., Calcagno, C.: Variables as resource in Hoare logics. In: 21st LICS (2006)
Pym, D., O’Hearn, P., Yang, H.: Possible worlds and resources: The semantics of BI. In: Theoretical Computer Science (2004)
Pym, D.J.: The Semantics and Proof Theory of the Logic of Bunched Implications. Applied Logic Series. Kluwer Academic Publishers, Dordrecht (2002)
Reynolds, J.C.: Separation logic: A logic for shared mutable data structures. In: 17th LICS (2002)
Yang, H., O’Hearn, P.: A semantic basis for local reasoning. In: Nielsen, M., Engberg, U. (eds.) FOSSACS 2002. LNCS, vol. 2303, Springer, Heidelberg (2002)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Raza, M., Gardner, P. (2008). Footprints in Local Reasoning. In: Amadio, R. (eds) Foundations of Software Science and Computational Structures. FoSSaCS 2008. Lecture Notes in Computer Science, vol 4962. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-78499-9_15
Download citation
DOI: https://doi.org/10.1007/978-3-540-78499-9_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-78497-5
Online ISBN: 978-3-540-78499-9
eBook Packages: Computer ScienceComputer Science (R0)