Affiliation:
1. University of California at Riverside, USA
2. University of Pennsylvania, USA
3. Massachusetts Institute of Technology, USA
Abstract
Transactional objects combine the performance of classical concurrent objects with the high-level programmability of transactional memory. However, verifying the correctness of transactional objects is tricky, requiring reasoning simultaneously about classical concurrent objects, which guarantee the atomicity of individual methods—the property known as linearizability—and about software-transactional-memory libraries, which guarantee the atomicity of user-defined sequences of method calls—or serializability.
We present a formal-verification framework called C4, built up from the familiar notion of linearizability and its compositional properties, that allows proof of both kinds of libraries, along with composition of theorems from both styles to prove correctness of applications or further libraries. We apply the framework in a significant case study, verifying a transactional set object built out of both classical and transactional components following the technique of
transactional predication
; the proof is modular, reasoning separately about the transactional and nontransactional parts of the implementation. Central to our approach is the use of syntactic transformers on
interaction trees
—i.e., transactional libraries that transform client code to enforce particular synchronization disciplines. Our framework and case studies are mechanized in Coq.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference72 articles.
1. The existence of refinement mappings
2. Sarita V Adve and Kourosh Gharachorloo . 1996. Shared memory consistency models: A tutorial. computer, 29, 12 ( 1996 ), 66–76. Sarita V Adve and Kourosh Gharachorloo. 1996. Shared memory consistency models: A tutorial. computer, 29, 12 (1996), 66–76.
3. Timos Antonopoulos Paul Gazzillo Eric Koskinen and Zhong Shao. 2016. Vertical Composition of Reversible Atomic Objects. Timos Antonopoulos Paul Gazzillo Eric Koskinen and Zhong Shao. 2016. Vertical Composition of Reversible Atomic Objects.
4. Proving Opacity via Linearizability: A Sound and Complete Method
5. Nesting and composition in transactional data structure libraries
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献