Semantic Soundness for Language Interoperability
Daniel Patterson, Noble Mushtak, Andrew Wagner, Amal Ahmed

TL;DR
This paper introduces a semantic framework for verifying sound language interoperability after compilation, enabling safe data conversions between languages with complex semantics and practical implementation considerations.
Contribution
It proposes a novel interoperation-after-compilation approach with formal verification, addressing real-world language interoperability challenges.
Findings
Framework for specifying data conversions between languages
Semantic model of source types as sets of target terms
Case studies demonstrating practical applicability
Abstract
Programs are rarely implemented in a single language, and thus questions of type soundness should address not only the semantics of a single language, but how it interacts with others. Even between type-safe languages, disparate features frustrate interoperability, as invariants from one language can easily be violated in the other. In their seminal 2007 paper, Matthews and Findler proposed a multi-language construction that augments the interoperating languages with a pair of boundaries that allow code from one language to be embedded in the other. While the technique has been widely applied, their syntactic source-level interoperability doesn't reflect practical implementations, where behavior of interaction is defined after compilation to a common target, and any safety must be ensured by target invariants or inserted target-level "glue code." In this paper, we present a framework…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Logic, programming, and type systems · Advanced Software Engineering Methodologies
