Date of Award
Spring 5-2022
Document Type
Thesis (Master's)
Department or Program
Computer Science
First Advisor
Prasad Jayanti
Abstract
Proofs of linearizability are typically intricate and lengthy, and readers may find it difficult to verify their correctness. We present a unique technique for producing proofs of linearizability that are fully verifiable by a mechanical proof system, thereby eliminating the need for any manual verification. Specifically, we reduce the burden of proving linearizable object implementations correct to the proof of a particular invariant whose correctness can be shown inductively. Noting that the latter is a task that many proof systems (such as the TLA+ Proof System we chose to work with) are well-suited to handle, this technique allows us to shift the responsibility of verification away from the reader and onto a machine, by enabling us to produce mechanically verifiable proofs of linearizability. We then demonstrate the effectiveness of this technique, which heretofore had only been applied to problems of a smaller scale, by proving the linearizability of a well-known queue algorithm whose proof of correctness is known to be challenging.
Recommended Citation
Yavuz, Ugur, "A Machine-Verified Proof of Linearizability for a Queue Algorithm" (2022). Dartmouth College Master’s Theses. 51.
https://digitalcommons.dartmouth.edu/masters_theses/51