Specifying Concurrent Programs in Separation Logic: Morphisms and Simulations

04/15/2019
by   Aleksandar Nanevski, et al.
0

In addition to pre- and postconditions, program specifications in recent separation logics for concurrency have employed an algebraic structure of resources - a form of state transition systems - to describe the state-based program invariants that must be preserved, and to record the permissible atomic changes to program state. In this paper we introduce a novel notion of resource morphism, i.e. structure-preserving function on resources, and show how to effectively integrate it into separation logic. We apply morphisms to abstract atomicity, where a program verified under one resource is adapted to operate under another resource, thus facilitating proof reuse.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset