Please use this identifier to cite or link to this item: http://bura.brunel.ac.uk/handle/2438/14970
Title: Mechanized proofs of opacity: A comparison of two techniques
Authors: Derrick, J
Doherty, S
Dongol, B
Schellhorn, G
Travkin, O
Wehrheim, H
Keywords: Software transactional memory;Opacity;Verification;Refinement;KIV;Isabelle
Issue Date: 2017
Publisher: Springer
Citation: Formal Aspects of Computing, (2017)
Abstract: Software transactional memory (STM) provides programmers with a high-level programming abstraction for synchronization of parallel processes, allowing blocks of codes that execute in an interleaved manner to be treated as atomic blocks. This atomicity property is captured by a correctness criterion called opacity, which relates the behaviour of an STM implementation to those of a sequential atomic specification. In this paper, we prove opacity of a recently proposed STM implementation: the Transactional Mutex Lock (TML) by Dalessandro et al. For this, we employ two different methods: the first method directly shows all histories of TML to be opaque (proof by induction), using a linearizability proof of TML as an assistance; the second method shows TML to be a refinement of an existing intermediate specification called TMS2 which is known to be opaque (proof by simulation). Both proofs are carried out within interactive provers, the first with KIV and the second with both Isabelle and KIV. This allows to compare not only the proof techniques in principle, but also their complexity in mechanization. It turns out that the second method, already leveraging an existing proof of opacity of TMS2, allows the proof to be decomposed into two independent proofs in the way that the linearizability proof does not.
URI: http://bura.brunel.ac.uk/handle/2438/14970
ISSN: 0934-5043
Appears in Collections:Dept of Computer Science Research Papers

Files in This Item:
File Description SizeFormat 
Fulltext.pdf1.51 MBAdobe PDFView/Open


Items in BURA are protected by copyright, with all rights reserved, unless otherwise indicated.