License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.OPODIS.2016.35
URN: urn:nbn:de:0030-drops-71040
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2017/7104/
Go to the corresponding LIPIcs Volume Portal


Doherty, Simon ; Dongol, Brijesh ; Derrick, John ; Schellhorn, Gerhard ; Wehrheim, Heike

Proving Opacity of a Pessimistic STM

pdf-format:
LIPIcs-OPODIS-2016-35.pdf (0.6 MB)


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.

BibTeX - Entry

@InProceedings{doherty_et_al:LIPIcs:2017:7104,
  author =	{Simon Doherty and Brijesh Dongol and John Derrick and Gerhard Schellhorn and Heike Wehrheim},
  title =	{{Proving Opacity of a Pessimistic STM}},
  booktitle =	{20th International Conference on Principles of Distributed Systems (OPODIS 2016)},
  pages =	{35:1--35:17},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-031-6},
  ISSN =	{1868-8969},
  year =	{2017},
  volume =	{70},
  editor =	{Panagiota Fatourou and Ernesto Jim{\'e}nez and Fernando Pedone},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2017/7104},
  URN =		{urn:nbn:de:0030-drops-71040},
  doi =		{10.4230/LIPIcs.OPODIS.2016.35},
  annote =	{Keywords: Pessimistic STMs, Opacity, Verification, Isabelle, Simulation, TMS2}
}

Keywords: Pessimistic STMs, Opacity, Verification, Isabelle, Simulation, TMS2
Collection: 20th International Conference on Principles of Distributed Systems (OPODIS 2016)
Issue Date: 2017
Date of publication: 06.04.2017


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI