Reference. Trillium: Higher-Order Concurrent and Distributed Separation Logic for Intensional Refinement
Cite
Cited by (5)
Verifying Isolation Levels of Database Implementations for Free Using Separation Logic mathiasen-2026-verifying
Lawyer: Modular Obligations-Based Liveness Reasoning in Higher-Order Impredicative Concurrent Separation Logic namakonov-2026-lawyer
An Axiomatic Basis for Computer Programming on Relaxed Hardware Architectures: The AxSL Logics liu-2026-an
Verifying Wait-Freedom for Concurrent Higher-Order Programs namakonov-2026-verifying
Reasoning about Weak Isolation Levels in Separation Logic alnormathiasen-2025-reasoning
Cites 41 works (8 here)
With notes (8)
Simuliris: A Separation Logic Framework for Verifying Concurrent Program Optimizations gaher_etal_simuliris_2022
Today’s compilers employ a variety of non-trivial optimizations to achieve good performance. One key trick compilers use to justify transformations of concurrent programs is to assume that the source program has no data races: if it does, they cause the program to have undefined behavior (UB) and give the compiler free rein. However, verifying correctness of optimizations that exploit this assumption is a non-trivial problem. In particular, prior work either has not proven that such optimizations preserve program termination (particularly non-obvious when considering optimizations that move instructions out of loop bodies), or has treated all synchronization operations as external functions (losing the ability to reorder instructions around them).
In this work we present Simuliris, the first simulation technique to establish termination preservation (under a fair scheduler) for a range of concurrent program transformations that exploit UB in the source language. Simuliris is based on the idea of using ownership to reason modularly about the assumptions the compiler makes about programs with well-defined behavior. This brings the benefits of concurrent separation logics to the space of verifying program transformations: we can combine powerful reasoning techniques such as framing and coinduction to perform thread-local proofs of non-trivial concurrent program optimizations. Simuliris is built on a (non-step-indexed) variant of the Coq-based Iris framework, and is thus not tied to a particular language. In addition to demonstrating the effectiveness of Simuliris on standard compiler optimizations involving data race UB, we also instantiate it with Jung et al.’s Stacked Borrows semantics for Rust and generalize their proofs of interesting type-based aliasing optimizations to account for concurrency.
Transfinite Iris: resolving an existential dilemma of step-indexed separation logic spies-2021-transfinitex
ReLoC Reloaded: A Mechanized Relational Logic for Fine-Grained Concurrency and Logical Atomicity frumin_krebbers_birkedal_reloc_2021
Iris from the ground up: A modular foundation for higher-order concurrent separation logic jung_etal_iris_ground_up_2018
A logical relation for monadic encapsulation of state: proving contextual equivalences in the presence of runST timany-2017-a
Interactive proofs in higher-order concurrent separation logic krebbers-2017-interactive
A Higher-Order Logic for Concurrent Termination-Preserving Refinement tassarotti_jung_harper_2017
Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning jung-2015-iris
External (33)
- Asynchronous Probabilistic Couplings in Higher-Order Separation Logic (2023)
- Trillium: Higher-Order Concurrent and Distributed Separation Logic for Intensional Refinement - Coq Artifact (2023)
- Le temps des cerises: efficient temporal stack safety on capability machines using directed capabilities (2022)
- Purity of an ST monad: full abstraction by semantically typed back-translation (2022)
- Theorems for free from separation logic specifications (2021)
- Fully abstract from static to gradual (2021)
- Inductive sequentialization of asynchronous programs (2020)
- Igloo: soundly linking compositional refinement and separation logic for distributed system verification (2020)
- Aneris: A Mechanised Logic for Modular Reasoning about Distributed Systems (2020)
- Verifying concurrent, crash-safe systems with Perennial (2019)
- A separation logic for concurrent randomized programs (2019)
- Mechanized relational verification of concurrent programs with continuations (2019)
- ReLoC: A Mechanised Relational Logic for Fine-Grained Concurrency (2018)
- Paxos Consensus, Deconstructed and Abstracted (2018)
- Certified concurrent abstraction layers (2018)
- Progress of concurrent objects with partial methods (2017)
- Cutoff Bounds for Consensus Algorithms (2017)
- Paxos made EPR: decidable reasoning about distributed protocols (2017)
- Formal Verification of Multi-Paxos for Distributed Consensus (2016)
- A relational model of types-and-effects in higher-order concurrent separation logic (2016)
- A program logic for concurrent objects under fair scheduling (2016)
- CertiKOS: An Extensible Architecture for Building Certified Concurrent OS Kernels (2016)
- Sound, Modular and Compositional Verification of the Input/Output Behavior of Programs (2015)
- Deep Specifications and Certified Abstraction Layers (2014)
- Convergent and Commutative Replicated Data Types (2011)
- Eventually consistent (2008)
- Proving the Correctness of Disk Paxos (2005)
- An Annotated Specification of the Consensus Protocol of Paxos Using Superposition in PVS (2004)
- Equivalence and Preorder Checking for Finite-State Systems (2001)
- Paxos Made Simple (2001)
- The part-time parliament (1998)
- Hybrid systems in TLA+ (1993)
- Notes on data base operating systems (1978)