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 条
  • [21] Procedure compilation in the refinement calculus
    Lermer, K.
    Fidge, C. J.
    [J]. FORMAL ASPECTS OF COMPUTING, 2006, 18 (02) : 152 - 180
  • [22] Verified Compilation for Shared-Memory C
    Beringer, Lennart
    Stewart, Gordon
    Dockins, Robert
    Appel, Andrew W.
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, 2014, 8410 : 107 - 127
  • [23] Verified Compilation of Space-Efficient Reversible Circuits
    Amy, Matthew
    Roetteler, Martin
    Svore, Krysta M.
    [J]. COMPUTER AIDED VERIFICATION (CAV 2017), PT II, 2017, 10427 : 3 - 21
  • [24] Verified bytecode verification and type-certifying compilation
    Klein, G
    Strecker, M
    [J]. JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING, 2004, 58 (1-2): : 27 - 60
  • [25] Verified Compilation of C Programs with a Nominal Memory Model
    Wang, Yuting
    Zhang, Ling
    Shao, Zhong
    Koenig, Jeremie
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2022, 6 (POPL):
  • [26] Verifiably Lazy Verified Compilation of Call-by-Need
    Stelle, George
    Stefanovic, Darko
    [J]. PROCEEDINGS OF THE 30TH SYMPOSIUM ON IMPLEMENTATION AND APPLICATION OF FUNCTIONAL LANGUAGES (IFL 2018), 2018, : 49 - 58
  • [27] Verified Compilation and the B Method: A Proposal and a First Appraisal
    Dantas, Bartira
    Deharbe, David
    Galvao, Stephenson
    Moreira, Anamaria Martins
    Medeiros Junior, Valerio
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 240 (0C) : 79 - 96
  • [28] Self-stabilizing atomicity refinement allowing neighborhood concurrency
    Cantarell, S
    Datta, AK
    Petit, F
    [J]. SELF-STABILIZING SYSTEMS, PROCEEDINGS, 2003, 2704 : 102 - 112
  • [29] Compilation by refinement for a practical assembly language
    Watson, G
    [J]. FORMAL METHODS AND SOFTWARE ENGINEERING, PROCEEDINGS, 2003, 2885 : 286 - 305
  • [30] Flexible Compilation and Refinement of Asynchronous Circuits
    Esimai, Ebelechukwu
    Roncken, Marly
    [J]. 2023 28TH IEEE INTERNATIONAL SYMPOSIUM ON ASYNCHRONOUS CIRCUITS AND SYSTEMS, ASYNC, 2023, : 109 - 119