Bringing Iris into the Verified Software Toolchain

07/14/2022
by   William Mansky, et al.
0

The Verified Software Toolchain (VST) is a system for proving correctness of C programs using separation logic. By connecting to the verified compiler CompCert, it produces the strongest possible guarantees of correctness for real C code that we can compile and run. VST included concurrency from its inception, in the form of reasoning about lock invariants, but concurrent separation logic (CSL) has advanced by leaps and bounds since then. In this paper, we describe efforts to integrate advancements from Iris, a state-of-the-art mechanized CSL, into VST. Some features of Iris (ghost state and invariants) are re-implemented in VST from the ground up; others (Iris Proof Mode) are imported from the Iris development; still others (proof rules for atomic operations) are axiomatized, with the hope that they will be made foundational in future versions. The result is a system that can prove correctness of sophisticated concurrent programs implemented in C, with fine-grained locking and non-blocking atomic operations, that yields varying soundness guarantees depending on the features used.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/27/2023

Proving Logical Atomicity using Lock Invariants

Logical atomicity has been widely accepted as a specification format 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 ...
research
10/02/2019

Compositional Non-Interference for Fine-Grained Concurrent Programs

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

LoRe: A Programming Model for Verifiably Safe Local-First Software

Local-first software manages and processes private data locally while st...
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
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...

Please sign up or login with your details

Forgot password? Click here to reset