JNI Program Analysis with Automatically Extracted C Semantic Summary

Cited 0 time in webofscience Cited 0 time in scopus
  • Hit : 15
  • Download : 0
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 Ccode of JN 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.
Publisher
ASSOC COMPUTING MACHINERY
Issue Date
2019-07
Language
English
Citation

28th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA), pp.448 - 451

DOI
10.1145/3293882.3338990
URI
http://hdl.handle.net/10203/274974
Appears in Collection
RIMS Conference Papers
Files in This Item
There are no files associated with this item.

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0