RELINCHE: Automatically Checking Linearizability under Relaxed Memory Consistency
This program is tentative and subject to change.
Concurrent libraries implement standard data structures, such as stacks and queues, in a thread-safe manner, typically providing an atomic interface to the data structure. They serve as building blocks for concurrent programs, and incorporate advanced synchronization mechanisms to achieve good performance.
In this paper, we are concerned with the problem of verifying correctness of such libraries under weak memory consistency in a fully automated fashion. To this end, we develop a model checker, RELINCHE, that verifies atomicity and functional correctness of a concurrent library implementation in any client program that invokes the library methods up to some bounded number of times. Our tool establishes refinement between the concurrent library implementation and its atomic specification in a fully parallel client, which it then strengthens to capture all possible other more constrained clients of the library.
RELINCHE scales sufficiently to verify correctness of standard concurrent library benchmarks for all client programs with up to 9 library method invocations, and finds minimal counterexamples with 4–7 method calls of non-trivial linearizability bugs due to weak memory consistency.
This program is tentative and subject to change.
Thu 23 JanDisplayed time zone: Mountain Time (US & Canada) change
15:00 - 16:20 | |||
15:00 20mTalk | Data Race Freedom à la Mode POPL Aina Linn Georges Max Planck Institute for Software Systems (MPI-SWS), Benjamin Peters MPI-SWS, Laila Elbeheiry MPI-SWS, Leo White Jane Street, Stephen Dolan Jane Street, Richard A. Eisenberg Jane Street, Chris Casinghino Jane Street, François Pottier Inria, Derek Dreyer MPI-SWS | ||
15:20 20mTalk | RELINCHE: Automatically Checking Linearizability under Relaxed Memory Consistency POPL | ||
15:40 20mTalk | Relaxed Memory Concurrency Re-executed POPL Evgenii Moiseenko JetBrains Research, Matteo Meluzzi TU Delft, the Netherlands, Innokentii Meleshchenko JetBrains Research, Neapolis University Pafos, Cyprus, Ivan Kabashnyi JetBrains Research, Constructor University Bremen, Germany, Anton Podkopaev JetBrains Research, Constructor University, Soham Chakraborty TU Delft | ||
16:00 20mTalk | Model Checking C/C++ with Mixed-Size Accesses POPL |