A Compositional Semantics for Verified Separate Compilation and Linking

被引:16
|
作者
Ramananandro, Tahina [1 ]
Shao, Zhong [1 ]
Weng, Shu-Chun [1 ]
Koenig, Jeremie [1 ]
Fu, Yuchen [2 ]
机构
[1] Yale Univ, New Haven, CT 06520 USA
[2] MIT, Cambridge, MA 02139 USA
基金
美国国家科学基金会;
关键词
Compositional Semantics; Vertical Composition; Horizontal Composition; Verified Compilation and Linking;
D O I
10.1145/2676724.2693167
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Recent ground-breaking efforts such as CompCert have made a convincing case that mechanized verification of the compiler correctness for realistic C programs is both viable and practical. Unfortunately, existing verified compilers can only handle whole programs-this severely limits their applicability and prevents the linking of verified C programs with verified external libraries. In this paper, we present a novel compositional semantics for reasoning about open modules and for supporting verified separate compilation and linking. More specifically, we replace external function calls with explicit events in the behavioral semantics. We then develop a verified linking operator that makes lazy substitutions on (potentially reacting) behaviors by replacing each external function call event with a behavior simulating the requested function. Finally, we show how our new semantics can be applied to build a refinement infrastructure that supports both vertical composition and horizontal composition.
引用
收藏
页码:3 / 14
页数:12
相关论文
共 50 条
  • [41] Precise exception semantics in dynamic compilation
    Gschwind, M
    Altman, E
    [J]. COMPILER CONSTRUCTION, PROCEEDINGS, 2002, 2304 : 95 - 110
  • [42] Compilation Semantics for a Programming Language with Versions
    Tanabe, Yudai
    Lubis, Luthfan Anshar
    Aotani, Tomoyuki
    Masuhara, Hidehiko
    [J]. PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2023, 2023, 14405 : 3 - 23
  • [43] A compositional approach to probabilistic knowledge compilation
    Dal, Giso H.
    Laarman, Alfons W.
    Hommersom, Arjen
    Lucas, Peter J.F.
    [J]. International Journal of Approximate Reasoning, 2021, 138 : 38 - 66
  • [44] 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
  • [45] 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):
  • [46] Verified bytecode verification and type-certifying compilation
    Klein, G
    Strecker, M
    [J]. JOURNAL OF LOGIC AND ALGEBRAIC PROGRAMMING, 2004, 58 (1-2): : 27 - 60
  • [47] 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 : 79 - 96
  • [48] 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
  • [49] Event in Compositional Dynamic Semantics
    Qian, Sai
    Amblard, Maxime
    [J]. LOGICAL ASPECTS OF COMPUTATIONAL LINGUISTICS, LACL 2011, 2011, 6736 : 219 - 234
  • [50] FROM COMPOSITIONAL TO SYSTEMATIC SEMANTICS
    ZADROZNY, W
    [J]. LINGUISTICS AND PHILOSOPHY, 1994, 17 (04) : 329 - 342