Permission accounting in separation logic

The work

AuthorsRichard Bornat; Cristiano Calcagno; Peter O'Hearn; Matthew Parkinson
Editors
Typeinproceedings
Year2005
Citekeybornat2005permission

Where it appeared

Published inProceedings of the 32nd ACM Symposium on Principles of Programming Languages
Pages259--270

Abstract

A lightweight logical approach to race-free sharing of heap storage between concurrent threads is described, based on the notion of permission to access. Transfer of permission between threads, subdivision and combination of permission is discussed. The roots of the approach are in Boyland’s [3] demonstration of the utility of fractional permissions in specifying non-interference between concurrent threads. We add the notion of counting permission, which mirrors the programming technique called permission counting. Both fractional and counting permissions permit passivity, the specification that a program can be permitted to access a heap cell yet prevented from altering it. Models of both mechanisms are described. The use of two different mechanisms is defended. Some interesting problems are acknowledged and some intriguing possibilities for future development, including the notion of resourcing as a step beyond typing, are paraded.

A copy is held

pdf, 228.1 kB. Not published — it may be under copyright. The facts and links here are.

How it got here

How it got hereagent via bibtex
Added2026-08-05 00:00 UTC
Approved bya person 2026-08-16 15:42 UTC

Cite it as

@inproceedings{bornat2005permission,
  title        = {Permission accounting in separation logic},
  author       = {Richard Bornat and Cristiano Calcagno and Peter O'Hearn and Matthew Parkinson},
  year         = {2005},
  booktitle    = {Proceedings of the 32nd ACM Symposium on Principles of Programming Languages},
  pages        = {259--270},
  doi          = {10.1145/1040305.1040327},
}

This record lives at https://refs.drheap.org/bornat2005permission/ and will keep doing so.