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 条
  • [31] Mouse C4 and Slp act synergistically in a homologous hemolytic C4 assay
    Beurskens, F
    Carroll, M
    Shiroisho, T
    Tosi, M
    Robins, D
    van Dijk, H
    MOLECULAR IMMUNOLOGY, 1999, 36 (4-5) : 278 - 278
  • [33] Identification of C4 responsive genes in the facultative C4 plant Hydrilla verticillata
    Rao, Srinath K.
    Fukayama, Hiroshi
    Reiskind, Julia B.
    Miyao, Mitsue
    Bowes, George
    PHOTOSYNTHESIS RESEARCH, 2006, 88 (02) : 173 - 183
  • [34] C4 connection capability effected by moisture in plating film on C4 pad
    Nakasu, K
    Osakada, A
    Nakano, S
    1ST 1997 IEMT/IMC SYMPOSIUM, 1997, : 326 - 330
  • [35] On the 3-Color Ramsey Numbers R(C4,C4,Wn)
    Zhang, Xuemei
    Chen, Yaojun
    Cheng, T. C. Edwin
    GRAPHS AND COMBINATORICS, 2022, 38 (03)
  • [36] Evolution of C4 photosynthetic genes and overexpression of maize C4 genes in rice
    Makoto Matsuoka
    Mika Nomura
    Sakae Agarie
    Mitsue Miyao-Tokutomi
    Maurice S. B. Ku
    Journal of Plant Research, 1998, 111 : 333 - 337
  • [37] Rainbow C4's and Directed C4's: The Bipartite Case Study
    Ning, Bo
    Ge, Jun
    BULLETIN OF THE MALAYSIAN MATHEMATICAL SCIENCES SOCIETY, 2016, 39 (02) : 563 - 570
  • [38] Transactional monitors for concurrent objects
    Welc, A
    Jagannathan, S
    Hosking, AL
    ECOOP 2004 - OBJECT-ORIENTED PROGRAMMING, 2004, 3086 : 519 - 542
  • [39] Transactional monitors for concurrent objects
    Department of Computer Sciences, Purdue University, West Lafayette
    IN
    47906, United States
    IBM; IQSOFT; Microsoft Research; NOKIA; Simula research laboratory, 1611, 518-541 (2004):
  • [40] Evolutionary transition from C3 to C4 photosynthesis and the route to C4 rice
    Liu, Zheng
    Sun, Ning
    Yang, Shangjun
    Zhao, Yanhong
    Wang, Xiaoqin
    Hao, Xingyu
    Qiao, Zhijun
    BIOLOGIA, 2013, 68 (04) : 577 - 586