Date of Award
Proofs of linearizability tend to be complex and lengthy, rendering their verification challenging for readers. We provide a novel technique to produce easy-to-verify proofs of linearizability, with the help of mechanical proof assistants. Specifically, we reduce the task of proving the correctness of a linearizable object implementation, to a proof of an inductive invariant of a slightly modified version of the implementation. As the latter is a task many mechanical proof systems (such as TLAPS) are well-suited to undertake, this reduction allows the verification of the proof by the reader, to only consist of a trivial syntactic check of whether the modification fulfills certain criteria. To demonstrate the practicability of this technique, we provide two applications.
Yavuz, Ugur, "Producing Easy-to-Verify Proofs of Linearizability" (2021). Computer Science Senior Theses. 14.