paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Interactive Cross-Language Pointer Analysis for Resolving Native Code in Java Programs

用于解析 Java 程序中本地代码的交互式跨语言指针分析
ICSE 2025 IEEE/ACM 47th International Conference on Software Engineering (ICSE)2025匹配度 3/10 · 论文是传统跨语言指针分析(Java/C JNI),属于程序分析与抽象解释,但与用户当前核心关注的 LLM/Agent 交叉、ML/Agent 系统中的静态分析、浮点程序分析或贝叶斯程序分析均无直接关联。引用 3 inbox
Chenxi Zhang, Yufei Liang, Tian Tan, Chang Xu, Shuangxiang Kan, Yulei Sui, Yue Li
crossref: 2026-09-12

AI 速览

一句话:提出首个交互式跨语言指针分析 JNIFER,统一分析 Java 与 C 代码以解析 JNI 交互。

Java 通过 JNI 调用 C 等本地代码,这增强了平台能力,但本地代码的复杂行为使 Java 静态分析难以准确解析跨语言交互,因此有效处理 Java 与本地代码的交互对静态分析至关重要。本文提出 JNIFER,首个用于解析 Java 程序中本地代码的交互式跨语言指针分析。JNIFER 将 Java 与 C 指针分析集成,并配备增强的本地调用分析与 JNI 函数分析,使两类代码可同时分析;在分析跨语言交互时,两个分析器相互协作,构建跨语言指向关系和调用图,从而近似交互点的运行时行为。在 OpenJDK 和真实 Java 应用上的大量实验表明,JNIFER 在健全性上优于现有先进方法,同时保持高精度和相当效率。

问题
Java 程序可通过 JNI 调用 C 等本地代码,本地代码的复杂行为给 Java 静态分析带来挑战,如何有效解析 Java 与本地代码的交互是关键问题。
方法
提出首个交互式跨语言指针分析 JNIFER,集成 Java 与 C 指针分析及本地调用/JNI 函数分析,通过两个分析器交互构建跨语言指向关系和调用图。
评估
在 OpenJDK 和真实 Java 应用上进行大量实验,结果表明其在健全性上优于现有先进方法,并保持高精度与相当效率。
原文摘要(Abstract)

Java offers the Java Native Interface (JNI), which allows programs running in the Java Virtual Machine to invoke and be manipulated by native applications and libraries written in other languages, typically C. While JNI mechanism significantly enhances the Java platform's capabilities, it also presents challenges for static analysis of Java programs due to the complex behaviors introduced by native code. Therefore, effectively resolving the interactions between Java and native code is crucial for static analysis. In this paper, we introduce JNIFER, the first interactive cross-language pointer analysis for resolving native code in Java programs. JNIFER integrates both Java and C pointer analyses, equipped with advanced native call and JNI function analyses, enabling the simultaneous analysis of both Java and native code. During the analysis of crosslanguage interactions, the two analyzers interact with each other, constructing cross-language points-to relations and call graphs, thereby approximating the runtime behavior at the interaction sites. Our evaluation shows that JNIFER outperforms state-of-the-art approaches in terms of soundness while maintaining high precision and comparable efficiency, as evidenced by extensive experiments on OpenJDK and real-world Java applications.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot8871,
  title = {Interactive Cross-Language Pointer Analysis for Resolving Native Code in Java Programs},
  author = {Chenxi Zhang and Yufei Liang and Tian Tan and Chang Xu and Shuangxiang Kan and Yulei Sui and Yue Li},
  booktitle = {ICSE},
  year = {2025},
  doi = {10.1109/icse55347.2025.00075}
}