Leaf: Modularity for Temporary Sharing in Separation Logic (Extended Version)

09/09/2023
by   Travis Hance, et al.
0

In concurrent verification, separation logic provides a strong story for handling both resources that are owned exclusively and resources that are shared persistently (i.e., forever). However, the situation is more complicated for temporarily shared state, where state might be shared and then later reclaimed as exclusive. We believe that a framework for temporarily-shared state should meet two key goals not adequately met by existing techniques. One, it should allow and encourage users to verify new sharing strategies. Two, it should provide an abstraction where users manipulate shared state in a way agnostic to the means with which it is shared. We present Leaf, a library in the Iris separation logic which accomplishes both of these goals by introducing a novel operator, which we call guarding, that allows one proposition to represent a shared version of another. We demonstrate that Leaf meets these two goals through a modular case study: we verify a reader-writer lock that supports shared state, and a hash table built on top of it that uses shared state.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/25/2021

A beginner guide to Iris, Coq and separation logic

Creating safe concurrent algorithms is challenging and error-prone. For ...
research
07/06/2022

Towards Concurrent Quantitative Separation Logic

In this paper, we develop a novel verification technique to reason about...
research
10/06/2017

A Game Semantics of Concurrent Separation Logic

In this paper, we develop a game-theoretic account of concurrent separat...
research
10/02/2019

Compositional Non-Interference for Fine-Grained Concurrent Programs

We present SeLoC: a relational separation logic for verifying non-interf...
research
09/06/2023

Grove: a Separation-Logic Library for Verifying Distributed Systems (Extended Version)

Grove is a concurrent separation logic library for verifying distributed...
research
06/26/2018

Verification of Shared-Reading Synchronisers

Synchronisation classes are an important building block for shared memor...
research
07/04/2019

Sharing and Learning Alloy on the Web

We present Alloy4Fun, a web application that enables online editing and ...

Please sign up or login with your details

Forgot password? Click here to reset