Connectivity graphs: a method for proving deadlock freedom based on separation logic
Jules Jacobs, Stephanie Balzer, Robbert Krebbers
Abstract
We introduce the notion of a connectivity graph-an abstract representation of the topology of concurrently interacting entities, which allows us to encapsulate generic principles of reasoning about deadlock freedom. Connectivity graphs are parametric in their vertices (representing entities like threads and channels) and their edges (representing references between entities) with labels (representing interaction protocols). We prove deadlock and memory leak freedom in the style of progress and preservation and use separation logic as a meta theoretic tool to treat connectivity graph edges and labels substructurally. To prove preservation locally, we distill generic separation logic rules for local graph transformations that preserve acyclicity of the connectivity graph. To prove global progress locally, we introduce a waiting induction principle for acyclic connectivity graphs. We mechanize our results in Coq, and instantiate our method with a higher-order binary session-typed language to obtain the first mechanized proof of deadlock and leak freedom.
• Software and its engineering → Concurrent programming languages.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext bc36c491-c673-45dc-b001-3bd3cfe6b2f1Cited by top-tier papers7
- Deadlock-Free Separation Logic: Linearity Yields Progress for Dependent Higher-Order Message PassingJules Jacobs, Jonas Kastberg Hinrichsen, Robbert KrebbersPOPL 2024 · 12 citations
- Mechanizing Session-Types using a Structural View: Enforcing Linearity without LinearityChuta Sano, Ryan Kavanagh, Brigitte PientkaOOPSLA 2023 · 10 citations
- Higher-Order Leak and Deadlock Free LocksJules Jacobs, Stephanie BalzerPOPL 2023 · 5 citations
- Using Dynamically Layered Definite Releases for Verifying the RefFS File SystemMo Zou, Dong Du, Mingkai Dong, Haibo ChenOSDI 2024 · 4 citations
- Borrowing from Session TypesHannes Saffrich, Janek Spaderna, Peter Thiemann, Vasco T. VasconcelosOOPSLA 2025
Builds on4
- Actris: session-type based reasoning in separation logicJonas Kastberg Hinrichsen, Jesper Bengtson, Robbert KrebbersPOPL 2020 · 44 citations
- Zooid: a DSL for certified multiparty computation: from mechanised metatheory to certified multiparty processesDavid Castro-Perez, Francisco Ferreira, Lorenzo Gheri, Nobuko YoshidaPLDI 2021 · 25 citations
- Session Logical Relations for NoninterferenceFarzaneh Derakhshan, Stephanie Balzer, Limin JiaLICS 2021 · 6 citations
- Intrinsically typed compilation with nameless labelsArjen Rouvoet, Robbert Krebbers, Eelco VisserPOPL 2021 · 5 citations
Related papers
- Verified Lock-Free Session Channels with LinkingThomas Somers, Robbert KrebbersOOPSLA 2024 · 2 citations
- A concurrent program logic with a future and historyRoland Meyer, Thomas Wies, Sebastian WolffOOPSLA 2022 · 9 citations
- Raven: An SMT-Based Concurrency VerifierEkanshdeep Gupta, Nisarg Patel, Thomas WiesCAV 2025 · 1 citation
- Multris: Functional Verification of Multiparty Message Passing in Separation LogicJonas Kastberg Hinrichsen, Jules Jacobs, Robbert KrebbersOOPSLA 2024 · 6 citations
- Beyond Backtracking: Connections in Fine-Grained Concurrent Separation LogicIke Mulder, Lukasz Czajka, Robbert KrebbersPLDI 2023 · 2 citations
