Embedding Hindsight Reasoning in Separation Logic

09/27/2022
by   Roland Meyer, et al.
0

Proving linearizability of concurrent data structures remains a key challenge for verification. We present temporal interpolation as a new proof principle to conduct such proofs using hindsight arguments within concurrent separation logic. Temporal reasoning offers an easy-to-use alternative to prophecy variables and has the advantage of structuring proofs into easy-to-discharge hypotheses. To hindsight theory, our work brings the formal rigor and proof machinery of concurrent program logics. We substantiate the usefulness of our development by verifying the linearizability of the Logical Ordering (LO-)tree and RDCSS. Both of these involve complex proof arguments due to future-dependent linearization points. The LO-tree additionally features complex structure overlays. Our proof of the LO-tree is the first formal proof of this data structure. Interestingly, our formalization revealed an unknown bug and an existing informal proof as erroneous.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/02/2020

Proving Highly-Concurrent Traversals Correct

Modern highly-concurrent search data structures, such as search trees, o...
research
05/20/2023

Formal Verification of Chase-Lev Deque in Concurrent Separation Logic

Chase-Lev deque is a concurrent data structure designed for efficient lo...
research
11/09/2017

Go with the Flow: Compositional Abstractions for Concurrent Data Structures (Extended Version)

Concurrent separation logics have helped to significantly simplify corre...
research
11/19/2019

Local Reasoning for Global Graph Properties

Separation logics are widely used for verifying programs that manipulate...
research
01/13/2023

The Commutativity Quotients of Concurrent Objects

Concurrent objects form the foundation of many applications that exploit...
research
03/21/2023

Überprüfung von Integritätsbedingungen in Deduktiven Datenbanken

Advancements in computer science and AI lead to the development of large...
research
05/23/2022

Sound Automation of Magic Wands (extended version)

The magic wand -* (also called separating implication) is a separation l...

Please sign up or login with your details

Forgot password? Click here to reset