Abstract
Modular analysis of polyglot applications is challenging because flows of heap objects must be resolved across language boundaries. The state-of-the-art analyses for polyglot applications have two fundamental limitations. First, they assume explicit boundaries between the guest and the host language to determine inter-language dataflows. Second, they rely on specific analyses of the host and guest languages. The former assumption is impractical concerning recent advancements in polyglot programming techniques, while the latter disregards advances in pointer analysis of the underlying languages. In this work, we propose to extend existing pointer analyses with a novel summary specialization technique that unifies points-to sets across language boundaries. Our novel technique leverages combinations of host and guest analyses with minor modifications. We demonstrate the efficacy and generalizability of our approach by evaluating it with two polyglot language models: Java-C communication via Android's NDK and Java-Python communication in GraalVM.
Original language | English |
---|---|
Article number | 103278 |
Journal | Science of Computer Programming |
Volume | 243 |
Number of pages | 21 |
ISSN | 0167-6423 |
DOIs | |
Publication status | Published - Jul 2025 |
Keywords
- Multilingual static analysis
- Pointer analysis
- Static program analysis