A Universal Technique for Machine-Certified Proofs of Linearizable Algorithms
Prasad Jayanti, Siddhartha Jayanti, Ugur Y. Yavuz, Lizzie Hernandez

TL;DR
This paper introduces a universal, sound, and complete method for machine-verifiable proofs of linearizability in concurrent data structures, simplifying verification and ensuring correctness.
Contribution
The authors present a novel proof technique applicable to any object type that guarantees soundness and completeness, verified by TLAPS, for linearizability and strong linearizability.
Findings
Successfully proved linearizability of Herlihy-Wing queue
Verified single-scanner snapshot correctness
Proved strong linearizability of union-find object
Abstract
Linearizability has been the long standing gold standard for consistency in concurrent data structures. However, proofs of linearizability can be long and intricate, hard to produce, and extremely time consuming even to verify. In this work, we address this issue by introducing simple , , and proof methods for producing machine-verifiable proofs of linearizability and its close cousin, strong linearizability. Universality means that our method works for any object type; soundness means that an algorithm can be proved correct by our method only if it is linearizable (resp. strong linearizable); and completeness means that any linearizable (resp. strong linearizable) implementation can be proved so using our method. We demonstrate the simplicity and power of our method by producing proofs of linearizability for the Herlihy-Wing queue and Jayanti's…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Advanced Database Systems and Queries · Logic, programming, and type systems
