A concurrent program logic with a future and history

Roland Meyer, Thomas Wies, Sebastian Wolff

Research output: Contribution to journalArticlepeer-review

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.

Original languageEnglish (US)
Article number174
JournalProceedings of the ACM on Programming Languages
Volume6
Issue numberOOPSLA2
DOIs
StatePublished - Oct 31 2022

Keywords

  • Harris Set
  • Linearizability
  • Non-blocking Data Structures

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'A concurrent program logic with a future and history'. Together they form a unique fingerprint.

Cite this