Operational semantics for multi-language programs

被引:18
|
作者
Matthews, Jacob [1 ]
Findler, Robert Bruce [1 ]
机构
[1] Univ Chicago, Chicago, IL 60637 USA
关键词
languages; theory; interoperability; multi-language systems; operational semantics;
D O I
10.1145/1190215.1190220
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Inter-language interoperability is big business, as the success of Microsoft's. NET and COM and Sun's JVM show. Programming language designers are designing programming languages that reflect that fact - SML#, Mondrian, and Scala, to name just a few examples, all treat interoperability with other languages as a central design feature. Still, current multi-language research tends not to focus on the semantics of interoperation features, but only on how to implement them efficiently. In this paper, we take first steps toward higher-level models of interoperating systems. Our technique abstracts away the low-level details of interoperability like garbage collection and representation coherence, and lets us focus on semantic properties like type-safety and observable equivalence. Beyond giving simple expressive models that are natural compositions of single-language models, our studies have uncovered several interesting facts about interoperability. For example, higher-order contracts naturally emerge as the glue to ensure that interoperating languages respect each other's type systems. While we present our results in an abstract setting, they shed light on real multi-language systems and tools such as the JNI, SWIG, and Haskell's stable pointers.
引用
收藏
页码:3 / 10
页数:8
相关论文
共 50 条
  • [1] 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
  • [2] Operational Semantics for Multi-Language Programs
    Matthews, Jacob
    Findler, Robert Bruce
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2009, 31 (03):
  • [3] A Calculus for Multi-language Operational Semantics
    Cimini, Matteo
    SOFTWARE VERIFICATION, 2022, 13124 : 25 - 42
  • [4] 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
  • [5] On multi-language abstraction: Towards a static analysis of multi-language programs
    Buro, Samuele
    Crole, Roy
    Mastroeni, Isabella
    FORMAL METHODS IN SYSTEM DESIGN, 2023, 65 (1) : 4 - 38
  • [6] DimSum: A Decentralized Approach to Multi-language Semantics and Verification
    Sammler, Michael
    Spies, Simon
    Song, Youngju
    D'Osualdo, Emanuele
    Krebbers, Robbert
    Garg, Deepak
    Dreyer, Derek
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (POPL):
  • [7] Verifying an Open Compiler Using Multi-language Semantics
    Perconti, James T.
    Ahmed, Amal
    PROGRAMMING LANGUAGES AND SYSTEMS, 2014, 8410 : 128 - 148
  • [8] 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
  • [9] An Equivalence-Preserving CPS Translation via Multi-Language Semantics
    Ahmed, Amal
    Blume, Matthias
    ACM SIGPLAN NOTICES, 2011, 46 (09) : 431 - 444
  • [10] Reusing Single-Language Analyses for Static Analysis of Multi-language Programs
    Roth, Tobias
    COMPANION PROCEEDINGS OF THE 2023 ACM SIGPLAN INTERNATIONAL CONFERENCE ON SYSTEMS, PROGRAMMING, LANGUAGES, AND APPLICATIONS: SOFTWARE FOR HUMANITY, SPLASH COMPANION 2023, 2023, : 16 - 18