English

Footprints in Local Reasoning

Software Engineering 2015-07-01 v2 Logic in Computer Science

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 formalise the notion of small specifications in local reasoning and show that for well-founded resource models, a smallest specification always exists that only includes the footprints, and also present results for the non-well-founded case. Finally, we use this theory of footprints to investigate the conditions under which the footprints correspond to the smallest safe states. We present a new model of RAM in which, unlike the standard model, the footprints of every program correspond to the smallest safe states, and we also identify a general condition on the primitive commands of a programming language which guarantees this property for arbitrary models.

Cite

@article{arxiv.0903.1032,
  title  = {Footprints in Local Reasoning},
  author = {Mohammad Raza and Philippa Gardner},
  journal= {arXiv preprint arXiv:0903.1032},
  year   = {2015}
}

Comments

LMCS 2009 (FOSSACS 2008 special issue)

R2 v1 2026-06-21T12:18:46.284Z