一句话:提出面向 JNI 的程序分析,通过自动提取 C 语义摘要来刻画 Java-C 互操作语义,以发现跨语言缺陷。
Java 运行时普遍通过 JNI 支持 Java 与 C 的互操作,使开发者能够提升性能或复用 C 库;但两种语言在语义上的差异,以及开发者对完整互操作语义理解不足,会引入各类意外缺陷。现有程序分析技术并不覆盖这一互操作过程,因而难以保障 JNI 程序质量。本文提出面向 JNI 的程序分析,其核心是自动提取 C 语言的语义摘要,用该摘要描述本机代码行为并支撑对 Java-C 交互的分析。摘要未报告具体实验或工具评估结果。
From Oracle JVM to Android Runtime, most Java runtime environments officially support Java Native Interface (JNI) for interaction between Java and C. Using JNI, developers can improve Java program performance or reuse existing libraries implemented in C. At the same time, differences between the languages can lead to various kinds of unexpected bugs when developers do not understand the differences or comprehensive interoperation semantics completely. Furthermore, existing program analysis techniques do not cover the interoperation, which can reduce the quality of JNI programs.
DOI 原文 ·
@inproceedings{paperbot5367,
title = {JNI program analysis with automatically extracted C semantic summary},
author = {Sungho Lee},
booktitle = {ISSTA},
year = {2019},
doi = {10.1145/3293882.3338990}
}