Verifying linearizability with hindsight

Peter W. O’Hearn, Noam Rinetzky, Martin Vechev, Eran Yahav, Greta Yorsh · 2010

We present a proof of safety and linearizability of a highly-concurrent optimistic set algorithm. The key step in our proof is the Hindsight Lemma, which allows a thread to infer the existence of a global state in which its operation can be linearized based on limited local atomic observations about the shared state. The Hindsight Lemma allows us to avoid one of the most complex and non-intuitive steps in reasoning about highly concurrent algorithms: considering the linearization point of an operation to be in a different thread than the one executing it.

Read the paper · More papers on PaperTik