Specifying Concurrent Programs in Separation Logic: Morphisms and Simulations

15 Apr 2019  ·  Aleksandar Nanevski, Anindya Banerjee, Germán Andrés Delbianco, Ignacio Fábregas ·

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 system---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, using an associated notion of morphism-specific simulation. We apply morphisms and simulations to programs verified under one resource, to compositionally adapt them to operate under another resource, thus facilitating proof reuse.

PDF Abstract
No code implementations yet. Submit your code now

Categories


Programming Languages Distributed, Parallel, and Cluster Computing Logic in Computer Science F.3.1; F.4.1; D.1.1; D.1.3; D.2.4; D.3.2

Datasets


  Add Datasets introduced or used in this paper