C4: Verified Transactional Objects

被引:10
|
作者
Lesani, Mohsen [1 ]
Xia, Li-yao [2 ]
Kaseorg, Anders [3 ]
Bell, Christian J. [3 ]
Chlipala, Adam [3 ]
Pierce, Benjamin C. [2 ]
Zdancewic, Steve [2 ]
机构
[1] Univ Calif Riverside, Riverside, CA 92521 USA
[2] Univ Penn, Philadelphia, PA 19104 USA
[3] MIT, 77 Massachusetts Ave, Cambridge, MA 02139 USA
来源
基金
美国国家科学基金会;
关键词
concurrency; objects; linearizability; serializability; verification; SEMANTICS;
D O I
10.1145/3527324
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
下载
收藏
页数:31
相关论文
共 50 条
  • [21] Analysis of C4 and the C4 binding protein in the MRL/lpr mouse
    Wenderfer, Scott E.
    Soimo, Kipruto
    Wetsel, Rick A.
    Braun, Michael C.
    ARTHRITIS RESEARCH & THERAPY, 2007, 9 (05)
  • [22] BSAA(SRCB)C4 AND BSBB(SRCB)C4 MAIZE GERMPLASM
    RUSSELL, WA
    GUTHRIE, WD
    CROP SCIENCE, 1983, 23 (04) : 808 - 809
  • [23] PHOTOSYNTHESIS IN C4 PLANT-TISSUE CULTURES - SIGNIFICANCE OF KRANZ ANATOMY TO C4 ACID METABOLISM IN C4 PLANTS
    KENNEDY, RA
    BARNES, JE
    LAETSCH, WM
    PLANT PHYSIOLOGY, 1977, 59 (04) : 600 - 603
  • [24] 28 ≤ R(C4, C4, C3, C3) ≤ 36
    Xu Xiaodong
    Radziszowski, Stanislaw P.
    UTILITAS MATHEMATICA, 2009, 79 : 253 - 257
  • [25] C4×C4、C4×C5、C5×C5的邻点可区别全色数
    张效贤
    谢继国
    河西学院学报, 2007, (05) : 9 - 11
  • [26] 梦想与现实之间 雪铁龙C4与C4 WRC
    郭智毅
    汽车与运动, 2007, (09) : 66 - 70
  • [27] Ecological consequences of C4 grass invasion of a C4 grassland:: A dilemma for management
    Reed, HE
    Seastedt, TR
    Blair, JM
    ECOLOGICAL APPLICATIONS, 2005, 15 (05) : 1560 - 1569
  • [28] Identification of C4 responsive genes in the facultative C4 plant Hydrilla verticillata
    Srinath K. Rao
    Hiroshi Fukayama
    Julia B. Reiskind
    Mitsue Miyao
    George Bowes
    Photosynthesis Research, 2006, 88 : 173 - 183
  • [29] What does it take to be C4?: Lessons from the evolution of C4 photosynthesis
    Edwards, GE
    Furbank, RT
    Hatch, MD
    Osmond, CB
    PLANT PHYSIOLOGY, 2001, 125 (01) : 46 - 49
  • [30] Evolution of C4 photosynthetic genes and overexpression of maize C4 genes in rice
    Matsuoka, M
    Nomura, M
    Agarie, S
    Miyao-Tokutomi, M
    Ku, MSB
    JOURNAL OF PLANT RESEARCH, 1998, 111 (1102) : 333 - 337