DimSum: A Decentralized Approach to Multi-language Semantics and Verification

被引:7
|
作者
Sammler, Michael [1 ]
Spies, Simon [1 ]
Song, Youngju [1 ]
D'Osualdo, Emanuele [1 ]
Krebbers, Robbert [2 ]
Garg, Deepak [1 ]
Dreyer, Derek [1 ]
机构
[1] MPI SWS, Saarland Informat Campus, Saarbrucken, Germany
[2] Radboud Univ Nijmegen, Nijmegen, Netherlands
来源
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL | 2023年 / 7卷 / POPL期
基金
荷兰研究理事会; 欧洲研究理事会;
关键词
multi-language semantics; verification; compilers; non-determinism; separation logic; Iris; Coq; ABSTRACT TRACE SEMANTICS;
D O I
10.1145/3571220
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Priorwork on multi-language program verification has achieved impressive results, including the compositional verification of complex compilers. But the existing approaches to this problem impose a variety of restrictions on the overall structure of multi-language programs (e.g., fixing the source language, fixing the set of involved languages, fixing the memory model, or fixing the semantics of interoperation). In this paper, we explore the problem of how to avoid such global restrictions. Concretely, we present DimSum: a new, decentralized approach to multi-language semantics and verification, which we have implemented in the Coq proof assistant. Decentralization means that we can define and reason about languages independently from each other (as independent modules communicating via events), but also combine and translate between them when necessary (via a library of combinators). We apply DimSum to a high-level imperative language Rec (with an abstract memory model and function calls), a low-level assembly language Asm (with a concrete memory model, arbitrary jumps, and syscalls), and a mathematical specification language Spec. We evaluate DimSum on two case studies: an Asm library extending Rec with support for pointer comparison, and a coroutine library for Rec written in Asm. In both cases, we show how DimSum allows the Asm libraries to be abstracted to Rec-level specifications, despite the behavior of the Asm libraries not being syntactically expressible in Rec itself. We also verify an optimizing multi-pass compiler from Rec to Asm, showing that it is compatible with these Asm libraries.
引用
收藏
页数:31
相关论文
共 50 条
  • [1] Operational semantics for multi-language programs
    Matthews, Jacob
    Findler, Robert Bruce
    ACM SIGPLAN NOTICES, 2007, 42 (01) : 3 - 10
  • [2] A Calculus for Multi-language Operational Semantics
    Cimini, Matteo
    SOFTWARE VERIFICATION, 2022, 13124 : 25 - 42
  • [3] Operational Semantics for Multi-Language Programs
    Matthews, Jacob
    Findler, Robert Bruce
    CONFERENCE RECORD OF POPL 2007: THE 34TH ACM SIGPLAN SIGACT SYMPOSIUM ON PRINCIPLES OF PROGAMMING LANGUAGES, 2007, : 3 - 10
  • [4] Operational Semantics for Multi-Language Programs
    Matthews, Jacob
    Findler, Robert Bruce
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2009, 31 (03):
  • [5] Verifying an Open Compiler Using Multi-language Semantics
    Perconti, James T.
    Ahmed, Amal
    PROGRAMMING LANGUAGES AND SYSTEMS, 2014, 8410 : 128 - 148
  • [6] An Equivalence-Preserving CPS Translation via Multi-Language Semantics
    Ahmed, Amal
    Blume, Matthias
    ICFP 11 - PROCEEDINGS OF THE 2011 ACM SIGPLAN: INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING, 2011, : 431 - 444
  • [7] An Equivalence-Preserving CPS Translation via Multi-Language Semantics
    Ahmed, Amal
    Blume, Matthias
    ACM SIGPLAN NOTICES, 2011, 46 (09) : 431 - 444
  • [8] On Multi-language Abstraction Towards a Static Analysis of Multi-language Programs
    Buro, Samuele
    Crole, Roy L.
    Mastroeni, Isabella
    STATIC ANALYSIS (SAS 2020), 2020, 12389 : 310 - 332
  • [9] Semantic language and multi-language MT approach based on SL
    QingShi Gao
    Yue Hu
    Li Li
    XiaoYu Gao
    Journal of Computer Science and Technology, 2003, 18 : 848 - 852
  • [10] Semantic language and multi-language MT approach based on SL
    Gao, QS
    Hu, Y
    Li, L
    Gao, XY
    JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2003, 18 (06) : 848 - 852