Title
Proving Opacity of a Pessimistic STM.
Abstract
Transactional Memory (TM) is a high-level programming abstraction for concurrency control that provides programmers with the illusion of atomically executing blocks of code, called transactions. TMs come in two categories, optimistic and pessimistic, where in the latter transactions never abort. While this simplifies the programming model, high-performing pessimistic TMs can be complex. In this paper, we present the first formal verification of a pessimistic software TM algorithm, namely, an algorithm proposed by Matveev and Shavit. The correctness criterion used is opacity, formalising the transactional atomicity guarantees. We prove that this pessimistic TM is a refinement of an intermediate opaque I/O-automaton, known as TMS2. To this end, we develop a rely-guarantee approach for reducing the complexity of the proof. Proofs are mechanised in the interactive prover Isabelle.
Year
Venue
Field
2016
OPODIS
Atomicity,Programming paradigm,Concurrency control,Computer science,Correctness,Transactional memory,Real-time computing,Mathematical proof,Gas meter prover,Formal verification
DocType
Citations 
PageRank 
Conference
0
0.34
References 
Authors
0
5
Name
Order
Citations
PageRank
Simon Doherty1325.57
Brijesh Dongol219325.27
John Derrick317016.67
Gerhard Schellhorn476956.43
Heike Wehrheim51013104.85