A concurrent program logic with a future and history

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...

Full description

Saved in:
Bibliographic Details
Published in:Proceedings of ACM on programming languages Vol. 6; no. OOPSLA2; pp. 1378 - 1407
Main Authors: Meyer, Roland, Wies, Thomas, Wolff, Sebastian
Format: Journal Article
Language:English
Published: New York, NY, USA ACM 31.10.2022
Subjects:
ISSN:2475-1421, 2475-1421
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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.
ISSN:2475-1421
2475-1421
DOI:10.1145/3563337