Unifying Pointer Analyses for Polyglot Inter-operations through Summary Specialization

05/06/2023
by   Jyoti Prakash, et al.
0

Modular analysis of polyglot applications is challenging because heap object flows across language boundaries must be resolved. The state-of-the-art analyses for polyglot applications have two fundamental limitations. First, they assume explicit boundaries between the host and the guest 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 so that points-to set across language boundaries can be unified. Our novel technique leverages various 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.

READ FULL TEXT
research
08/25/2023

On the Impact of Language Selection for Training and Evaluating Programming Language Models

The recent advancements in Transformer-based Language Models have demons...
research
04/06/2022

Fluently specifying taint-flow queries with fluentTQL

Previous work has shown that taint analyses are only useful if correctly...
research
05/10/2021

Why Aren't Regular Expressions a Lingua Franca? An Empirical Study on the Re-use and Portability of Regular Expressions

This paper explores the extent to which regular expressions (regexes) ar...
research
10/09/2020

Modular Collaborative Program Analysis in OPAL

Current approaches combining multiple static analyses deriving different...
research
02/24/2018

Evaluating Design Tradeoffs in Numeric Static Analysis for Java

Numeric static analysis for Java has a broad range of potentially useful...
research
05/20/2021

KotlinDetector: Towards Understanding the Implications of Using Kotlin in Android Applications

Java programming language has been long used to develop native Android m...
research
12/01/2020

Customizing Host IDE for Non-programming Users of Pure Embedded DSLs: A Case Study

Pure embedding as an implementation strategy of domain-specific language...

Please sign up or login with your details

Forgot password? Click here to reset