Towards Analyzing N-language Polyglot Programs
Jyoti Prakash, Abhishek Tiwari, Mikkel Baun Kjærgaard
TL;DR
The paper addresses the complexity of static analysis for tri-language polyglot programs, proposing a conceptual framework and roadmap for n-language analysis beyond two-language systems. It introduces three interaction models (host-guest, common IR, and shared libraries) and outlines a tri-language extension of summary-based static analysis, focusing on inter-language dataflow, mutual fixed-point computation, and call-graph construction. Key contributions include characterizing tri-language communication models, highlighting fundamental analysis challenges, and outlining incremental, language-agnostic research directions to scale across multilingual ecosystems. This work aims to spark research toward scalable, modular analyses that preserve language provenance and semantics, enabling safer and more reliable polyglot software in practice.
Abstract
Polyglot programming is gaining popularity as developers integrate multiple programming languages to harness their individual strengths. With the recent popularity of platforms like GraalVM and other multi-language runtimes, creating and managing these systems has become much more feasible. However, current research on analyzing multilingual programs mainly focuses on two languages, leaving out the increasing complexity of systems that use three or more. For example, modern web systems often link JavaScript, WebAssembly, and Rust within the same execution chain. This paper envisions the landscape of software systems with three-language polyglot communication. We identify fundamental challenges in analyzing them and propose a conceptual roadmap to advance static analysis techniques to address them. Our vision aims to stimulate discussion and inspire new research directions toward scalable, language-agnostic analysis frameworks for next-generation polyglot systems.
