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

page 1

page 2

page 3

page 4

research
08/22/2022

Verification-Preserving Inlining in Automatic Separation Logic Verifiers (extended version)

Bounded verification has proved useful to detect bugs and to increase co...
research
10/23/2020

On Algebraic Abstractions for Concurrent Separation Logics

Concurrent separation logic is distinguished by transfer of state owners...
research
09/22/2017

Subjective Simulation as a Notion of Morphism for Composing Concurrent Resources

Recent approaches to verifying programs in separation logics for concurr...
research
08/15/2022

Exact Separation Logic

Over-approximating (OX) program logics, such as separation logic, are us...
research
11/30/2021

SteelCore: An Extensible Concurrent Separation Logic for Effectful Dependently Typed Programs

Much recent research has been devoted to modeling effects within type th...
research
04/25/2023

Resource Specifications for Resource-Manipulating Programs

Specifications for modular program verifiers are expressed as constraint...
research
07/18/2018

Structuring the Synthesis of Heap-Manipulating Programs - Extended Version

This paper describes a deductive approach to synthesizing imperative pro...

Please sign up or login with your details

Forgot password? Click here to reset