Atomicity Refinement for Verified Compilation

被引:0
|
作者
Jagannathan, Suresh [1 ]
Petri, Gustavo [1 ]
Vitek, Jan [1 ]
Pichardie, David [2 ]
Laporte, Vincent [3 ]
机构
[1] Purdue Univ, W Lafayette, IN 47907 USA
[2] Inria, Irisa, ENS Rennes, Paris, France
[3] Univ Rennes 1, Irisa, F-35014 Rennes, France
关键词
D O I
10.1145/2666356.2594346
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We consider the verified compilation of high-level managed languages like Java or C# whose intermediate representations provide support for shared-memory synchronization and automatic memory management. In this environment, the interactions between application threads and the language runtime (e. g., the garbage collector) are regulated by compiler-injected code snippets. Example of snippets include allocation fast paths among others. In our TOPLAS paper we propose a refinement-based proof methodology that precisely relates concurrent code expressed at different abstraction levels, cognizant throughout of the relaxed memory semantics of the underlying processor. Our technique allows the compiler writer to reason compositionally about the atomicity of low-level concurrent code used to implement managed services. We illustrate our approach with examples taken from the verification of a concurrent garbage collector.
引用
收藏
页码:27 / 27
页数:1
相关论文
共 50 条
  • [1] Atomicity Refinement for Verified Compilation
    Jagannathan, Suresh
    Laporte, Vincent
    Petri, Gustavo
    Pichardie, David
    Vitek, Jan
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2014, 36 (02):
  • [2] Refinement by atomicity
    Yuen, Pui Sum
    [J]. ZEITSCHRIFT FUR KRISTALLOGRAPHIE-CRYSTALLINE MATERIALS, 2015, 230 (08): : 513 - 517
  • [3] Verified Compilation on a Verified Processor
    Loow, Andreas
    Kumar, Ramana
    Tan, Yong Kiam
    Myreen, Magnus O.
    Norrish, Michael
    Abrahamsson, Oskar
    Fox, Anthony
    [J]. PROCEEDINGS OF THE 40TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '19), 2019, : 1041 - 1053
  • [4] Procedures and atomicity refinement
    Sere, K
    [J]. INFORMATION PROCESSING LETTERS, 1996, 60 (02) : 67 - 74
  • [5] Verified Compilation of Linearizable Data Structures Mechanizing Rely Guarantee for Semantic Refinement
    Zakowski, Yannick
    Cachera, David
    Demange, Delphine
    Pichardie, David
    [J]. 33RD ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, 2018, : 1881 - 1890
  • [6] Compilation as refinement
    Lermer, K
    Fidge, C
    [J]. FORMAL METHODS PACIFIC '97, 1997, : 142 - 164
  • [7] Verified Compilation of Quantum Oracles
    Li, Liyi
    Voichick, Finn
    Hietala, Kesha
    Peng, Yuxiang
    Wu, Xiaodi
    Hicks, Michael
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (OOPSLA): : 589 - 615
  • [8] Stabilization-preserving atomicity refinement
    Nesterenko, M
    Arora, A
    [J]. DISTRIBUTED COMPUTING, 1999, 1693 : 254 - 268
  • [9] Stabilization-preserving atomicity refinement
    Nesterenko, M
    Arora, A
    [J]. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2002, 62 (05) : 766 - 791
  • [10] CRELLVM: Verified Credible Compilation for LLVM
    Kang, Jeehoon
    Kim, Yoonseung
    Song, Youngju
    Lee, Juneyoung
    Park, Sanghoon
    Shin, Mark Dongyeon
    Kim, Yonghyun
    Cho, Sungkeun
    Choi, Joonwon
    Hur, Chung-Kil
    Yi, Kwangkeun
    [J]. ACM SIGPLAN NOTICES, 2018, 53 (04) : 631 - 645