A Concurrent Program Logic with a Future and History
Roland Meyer, Thomas Wies, Sebastian Wolff

TL;DR
This paper introduces a new separation logic designed for automated verification of fine-grained optimistic concurrent programs, enabling reasoning about inductive properties and computation histories without ghost code, demonstrated through a tool verifying complex concurrent data structures.
Contribution
The paper presents a novel separation logic that retains locality for inductive and history reasoning, and implements it in a tool for automatic verification of challenging concurrent structures.
Findings
Successfully verified concurrent search structures like Harris set
Retained locality for inductive and history reasoning without ghost code
Enhanced automation in verifying complex concurrent programs
Abstract
Verifying fine-grained optimistic concurrent programs remains an open problem. Modern program logics provide abstraction mechanisms and compositional reasoning principles to deal with the inherent complexity. However, their use is mostly confined to pencil-and-paper or mechanized proofs. We devise a new separation logic geared towards the lacking automation. While local reasoning is known to be crucial for automation, we are the first to show how to retain this locality for (i) reasoning about inductive properties without the need for ghost code, and (ii) reasoning about computation histories in hindsight. We implemented our new logic in a tool and used it to automatically verify challenging concurrent search structures that require inductive properties and hindsight reasoning, such as the Harris set.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
