-
- Nishiwaki Haruna
- Graduate School of Informatics, Kyoto University
-
- Ugawa Tomoharu
- Graduate School of Informatics and Engineering, The University of Electro-Communications
-
- Umatani Seiji
- Graduate School of Informatics, Kyoto University
-
- Yasugi Masahiro
- Department of Artificial Intelligence, Kyushu Institute of Technology
-
- Yuasa Taiichi
- Graduate School of Informatics, Kyoto University
Search this article
Abstract
A static analysis tool has been developed for finding common mistakes in programs that use the Java Native Interface (JNI). Specific rules in JNI are not caught by C++ and other compilers, and this tool is aimed at rules about references to Java objects, which are passed to native methods as local references. Local references become invalid when the native method returns. To keep them valid after the return, the programmer should convert them into global references. If they are not converted, the garbage collector may malfunction and may, for example, fail to mark referenced objects. The developed static analysis tool finds assignments of local references to locations other than local variables such as global variables and structure fields. The tool was implemented as a plug-in for Clang, a compiler front-end for the LLVM. Application of this tool to native Android code demonstrated its effectiveness.
Journal
-
- IPSJ Online Transactions
-
IPSJ Online Transactions 5 (0), 139-144, 2012
Information Processing Society of Japan
- Tweet
Details 詳細情報について
-
- CRID
- 1390282680271643008
-
- NII Article ID
- 130002122066
-
- NII Book ID
- AA11464814
-
- ISSN
- 18827802
- 18827772
- 18826660
- 03875806
-
- NDL BIB ID
- 024048622
-
- Text Lang
- en
-
- Data Source
-
- JaLC
- IRDB
- NDL
- Crossref
- CiNii Articles
- KAKEN
-
- Abstract License Flag
- Disallowed