ISSTA 2019
Mon 15 - Fri 19 July 2019 Beijing, China
Tue 16 Jul 2019 10:02 - 10:18 at Meeting Room 2 - Session 1

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. We propose a JNI program analysis technique that analyzes Java and C code of JNI programs using analyzers targeting each language respectively. The C analyzer generates a semantic summary for each C function callable from Java and the Java analyzer constructs call graphs using the semantic summaries and Java code. In addition to the call graph construction, we extend the analysis technique to detect four bug types that can occur in the interoperation between the languages. We believe that our approach would be able to detect genuine bugs as well as improve the quality of JNI programs.

Tue 16 Jul

09:30 - 10:35: Doctoral Symposium - Session 1 at Meeting Room 2
issta-2019-Doctoral-Symposium-09:30 - 09:46
Day opening
issta-2019-Doctoral-Symposium-09:46 - 10:02
Doctoral symposium paper
Chao PengUniversity of Edinburgh, UK
issta-2019-Doctoral-Symposium-10:02 - 10:18
Doctoral symposium paper
Sungho LeeKAIST, South Korea
issta-2019-Doctoral-Symposium-10:18 - 10:35
Doctoral symposium paper
Tang WenshengThe Hong Kong University of Science and Technology