Temporary Read-Only Permissions for Separation Logic

Abstract

We present an extension of Separation Logic with a general mechanism for temporarily converting any assertion (or "permission") to a read-only form. No accounting is required: our read-only permissions can be freely duplicated and discarded. We argue that, in circumstances where mutable data structures are temporarily accessed only for reading, our read-only permissions enable more concise specifications and proofs. The metatheory of our proposal is verified in Coq.

Paper

Arthur Charguéraud and François Pottier
ESOP: European Symposium on Programming, April 2017