Specifying Concurrent Programs in Separation Logic: Morphisms and Simulations
Programming Languages
2019-10-16 v3 Distributed, Parallel, and Cluster Computing
Logic in Computer Science
Abstract
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.
Cite
@article{arxiv.1904.07136,
title = {Specifying Concurrent Programs in Separation Logic: Morphisms and Simulations},
author = {Aleksandar Nanevski and Anindya Banerjee and Germán Andrés Delbianco and Ignacio Fábregas},
journal= {arXiv preprint arXiv:1904.07136},
year = {2019}
}