Compositional Non-Interference for Fine-Grained Concurrent Programs

10/02/2019
by   Dan Frumin, et al.
0

We present SeLoC: a relational separation logic for verifying non-interference of fine-grained concurrent programs in a compositional way. SeLoC is more expressive than previous approaches, both in terms of the features of the target programming language, and in terms of the logic. The target programming language supports dynamically allocated references (pointers), higher-order functions, and fine-grained fork-based concurrency with low-level atomic operators like compare-and-set. The logic provides an invariant mechanism to establish protocols on data that is not protected by locks. This allows us to verify programs that were beyond the reach of previous approaches. A key technical innovation in SeLoC is a relational version of weakest preconditions to track information flow using separation logic resources. On top of these weakest preconditions we build a type system-like abstraction, using invariants and logical relations. SeLoC has been mechanized on top of the Iris framework in the Coq proof assistant.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/17/2019

TaDA Live: Compositional Reasoning for Termination of Fine-grained Concurrent Programs

We introduce TaDA Live, a separation logic for reasoning compositionally...
research
06/24/2020

ReLoC Reloaded: A Mechanized Relational Logic for Fine-Grained Concurrency and Logical Atomicity

We present a new version of ReLoC: a relational logic for proving refine...
research
07/14/2022

Bringing Iris into the Verified Software Toolchain

The Verified Software Toolchain (VST) is a system for proving correctnes...
research
07/05/2022

A Concurrent Program Logic with a Future and History

Verifying fine-grained optimistic concurrent programs remains an open pr...
research
09/09/2023

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

In concurrent verification, separation logic provides a strong story for...
research
12/28/2022

Modular termination verification with a higher-order concurrent separation logic (Intermediate report)

We report on intermediate results of our research on reasoning about liv...
research
05/25/2021

A beginner guide to Iris, Coq and separation logic

Creating safe concurrent algorithms is challenging and error-prone. For ...

Please sign up or login with your details

Forgot password? Click here to reset