Subjective Simulation as a Notion of Morphism for Composing Concurrent Resources

09/22/2017
by   Aleksandar Nanevski, et al.
0

Recent approaches to verifying programs in separation logics for concurrency have used state transition systems (STSs) to specify the atomic operations of programs. A key challenge in the setting has been to compose such STSs into larger ones, while enabling programs specified under one STS to be linked to a larger one, without reverification. This paper develops a notion of morphism between two STSs which permits such lifting. The morphisms are a constructive form of simulation between the STSs, and lead to a general and concise proof system. We illustrate the concept and its generality on several disparate examples, including staged construction of a readers/writers lock and its proof, and of proofs about quiescence when concurrent programs are executed without external interference.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/15/2019

Specifying Concurrent Programs in Separation Logic: Morphisms and Simulations

In addition to pre- and postconditions, program specifications in recent...
research
02/08/2018

A Separation Logic for Concurrent Randomized Programs

We present a concurrent separation logic with support for probabilistic ...
research
10/31/2019

Pomsets with Boxes: Protection, Separation, and Locality in Concurrent Kleene Algebra

Concurrent Kleene Algebra is an elegant tool for equational reasoning ab...
research
05/17/2023

Concurrent Gaussian elimination

Working in a semi-constructive logical system that supports the extracti...
research
11/04/2019

Verifying Visibility-Based Weak Consistency

Multithreaded programs generally leverage efficient and thread-safe conc...
research
11/19/2019

Local Reasoning for Global Graph Properties

Separation logics are widely used for verifying programs that manipulate...
research
04/08/2019

Analysis of Commutativity with State-Chart Graph Representation of Concurrent Programs

We present a new approach to check for commutativity in concurrent progr...

Please sign up or login with your details

Forgot password? Click here to reset