Formal Verification of Chase-Lev Deque in Concurrent Separation Logic

05/20/2023
by   Jaemin Choi, et al.
0

Chase-Lev deque is a concurrent data structure designed for efficient load balancing in multiprocessor scheduling. It employs a work-stealing strategy, where each thread possesses its own work-stealing deque to store tasks, and idle threads steal tasks from other threads. However, given the inherent risk of bugs in software, particularly in a multiprocessor environment, it is crucial to formally establish the correctness of programs and data structures. To our knowledge, no formal verification work for the Chase-Lev deque has met three key criteria: (1) utilizing a minimal trusted computing base, (2) using a realistic and unrestricted implementation, and (3) proving a strong specification. In this thesis, we address this gap by presenting the formal verification of the Chase-Lev deque using a concurrent separation logic. Our work is mechanized in the Coq proof assistant, and our verified implementation is both realistic and unbounded in terms of the number of tasks it can handle. Also, we adopt linearizability as the specification, as it is widely recognized as a strong specification for concurrent data structures. Consequently, our work satisfies all three aforementioned criteria for formal verification. Additionally, we extend our verification to support safe memory reclamation, and provide a basis for verifying the Chase-Lev deque in the relaxed memory model.

READ FULL TEXT
research
09/27/2022

Embedding Hindsight Reasoning in Separation Logic

Proving linearizability of concurrent data structures remains a key chal...
research
10/25/2018

Decoupling Lock-Free Data Structures from Memory Reclamation for Static Analysis

Verification of concurrent data structures is one of the most challengin...
research
08/26/2019

Automated Verification of CountDownLatch

The CountDownLatch (CDL) is a versatile concurrency mechanism that was f...
research
09/17/2023

Rely-guarantee Reasoning about Concurrent Memory Management: Correctness, Safety and Security

Formal verification of concurrent operating systems (OSs) is challenging...
research
09/12/2021

Verifying Concurrent Multicopy Search Structures

Multicopy search structures such as log-structured merge (LSM) trees are...
research
07/16/2021

Verified Mutable Data Structures

Malfunctions in software like airplane control systems or nuclear plant ...
research
05/25/2021

A beginner guide to Iris, Coq and separation logic

Creating safe concurrent algorithms is challenging and error-prone. For ...

Please sign up or login with your details

Forgot password? Click here to reset