Proving Linearizability with Temporal Logic

S. Bäumler, G. Schellhorn, B. Tofan and W. Reif

Proving Linearizability with Temporal Logic

Linearizability is a global correctness criterion for concurrent systems. One technique to prove linearizability is applying a composition theorem which reduces the proof of a property of the overall system to sufficient rely-guarantee conditions for single processes. In this paper, we describe how the temporal logic framework implemented in the KIV interactive theorem prover can be used to model concurrent systems and to prove such a composition theorem. Finally, we show how this generic theorem can be instantiated to prove linearizability of two classic lock-free implementations: a Treiber-like stack and a slightly improved version of Michael and Scott’s queue.

published 2011 Journal of Formal Aspects of Computing (FAC)

Publisher: Springer, 23(1), pp. 91 - 112