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.

Share

COinS