Make flows small again: revisiting the flow framework

04/10/2023
by   Roland Meyer, et al.
0

We present a new flow framework for separation logic reasoning about programs that manipulate general graphs. The framework overcomes problems in earlier developments: it is based on standard fixed point theory, guarantees least flows, rules out vanishing flows, and has an easy to understand notion of footprint as needed for soundness of the frame rule. In addition, we present algorithms for automating the frame rule, which we evaluate on graph updates extracted from linearizability proofs for concurrent data structures. The evaluation demonstrates that our algorithms help to automate key aspects of these proofs that have previously relied on user guidance or heuristics.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/09/2017

Go with the Flow: Compositional Abstractions for Concurrent Data Structures (Extended Version)

Concurrent separation logics have helped to significantly simplify corre...
research
07/28/2023

Context-Aware Separation Logic

Separation logic is often praised for its ability to closely mimic the l...
research
09/19/2019

Proof Pearl: Magic Wand as Frame

Separation logic adds two connectives to assertion languages: separating...
research
04/25/2023

Faster High Accuracy Multi-Commodity Flow from Single-Commodity Techniques

Since the development of efficient linear program solvers in the 80s, al...
research
04/29/2021

Extracting total Amb programs from proofs

We present a logical system CFP (Concurrent Fixed Point Logic) from whos...
research
04/27/2018

A theory of linear typings as flows on 3-valent graphs

Building on recently established enumerative connections between lambda ...
research
01/08/2020

An Equational Theory for Weak Bisimulation via Generalized Parameterized Coinduction

Coinductive reasoning about infinitary structures such as streams is wid...

Please sign up or login with your details

Forgot password? Click here to reset