Verifying concurrent search structure templates
Siddharth Krishna, Nisarg Patel, Dennis E. Shasha, Thomas Wies
摘要
Concurrent separation logics have had great success reasoning about concurrent data structures. This success stems from their application of modularity on multiple levels, leading to proofs that are decomposed according to program structure, program state, and individual threads. Despite these advances, it remains difficult to achieve proof reuse across different data structure implementations. For the large class of search structures, we demonstrate how one can achieve further proof modularity by decoupling the proof of thread safety from the proof of structural integrity. We base our work on the template algorithms of Shasha and Goodman that dictate how threads interact but abstract from the concrete layout of nodes in memory. Building on the recently proposed flow framework of compositional abstractions and the separation logic Iris, we show how to prove correctness of template algorithms, and how to instantiate them to obtain multiple verified implementations.
We demonstrate our approach by mechanizing the proofs of three concurrent search structure templates, based on link, give-up, and lock-coupling synchronization, and deriving verified implementations based on B-trees, hash tables, and linked lists. These case studies include algorithms used in real-world file systems and databases, which have been beyond the capability of prior automated or mechanized verification techniques. In addition, our approach reduces proof complexity and is able to achieve significant proof reuse.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper12
- Proving highly-concurrent traversals correctYotam M. Y. Feldman, Artem Khyzha, Constantin Enea, Adam Morrison 等OOPSLA 2020 · 被引用 12 次
- Occualizer: Optimistic Concurrent Search Trees From Sequential CodeTomer Shanny, Adam MorrisonOSDI 2022 · 被引用 9 次
- A concurrent program logic with a future and historyRoland Meyer, Thomas Wies, Sebastian WolffOOPSLA 2022 · 被引用 9 次
- Proof Automation for Linearizability in Separation LogicIke Mulder, Robbert KrebbersOOPSLA 2023 · 被引用 8 次
- Verifying concurrent multicopy search structuresNisarg Patel, Siddharth Krishna, Dennis E. Shasha, Thomas WiesOOPSLA 2021 · 被引用 8 次
它引用的顶会 Paper1
相关 Paper
- Program Logics à la CarteMax Vistrup, Michael Sammler, Ralf JungPOPL 2025 · 被引用 4 次
- Logical Relations for Formally Verified Authenticated Data StructuresSimon Oddershede Gregersen, Chaitanya Agarwal, Joseph TassarottiCCS 2025
- Leaf: Modularity for Temporary Sharing in Separation LogicTravis Hance, Jon Howell, Oded Padon, Bryan ParnoOOPSLA 2023 · 被引用 3 次
- Raven: An SMT-Based Concurrency VerifierEkanshdeep Gupta, Nisarg Patel, Thomas WiesCAV 2025 · 被引用 1 次
- Modular Verification of Safe Memory Reclamation in Concurrent Separation LogicJaehwang Jung, Janggun Lee, Jaemin Choi, Jaewoo Kim 等OOPSLA 2023 · 被引用 10 次
