Proceedings of the 2008 International Symposium on Software Testing and Analysis 2008
DOI: 10.1145/1390630.1390645
|View full text |Cite
|
Sign up to set email alerts
|

Finding bugs in java native interface programs

Abstract: In this paper, we describe static analysis techniques for finding bugs in programs using the Java Native Interface (JNI). The JNI is both tedious and error-prone because there are many JNI-specific mistakes that are not caught by a native compiler. This paper is focused on four kinds of common mistakes. First, explicit statements to handle a possible exception need to be inserted after a statement calling a Java method. However, such statements tend to be forgotten. We present a typestate analysis to detect th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
57
0

Year Published

2009
2009
2022
2022

Publication Types

Select...
5
2
2

Relationship

0
9

Authors

Journals

citations
Cited by 46 publications
(57 citation statements)
references
References 7 publications
0
57
0
Order By: Relevance
“…Recent years have witnessed a string of systems that analyze and improve FFIs for safety and reliability [1,2,3,4,5,6,7,8]. However, lack of formal semantics of FFIs hampers progress in this domain.…”
Section: Motivationmentioning
confidence: 99%
“…Recent years have witnessed a string of systems that analyze and improve FFIs for safety and reliability [1,2,3,4,5,6,7,8]. However, lack of formal semantics of FFIs hampers progress in this domain.…”
Section: Motivationmentioning
confidence: 99%
“…FFI-based software is often error-prone; recent studies found a large number of software bugs in the interface code between modules of different languages based on static analysis [7,8,32,14,18,19] and dynamic analysis [31,16], and new interface languages for writing safer multilingual code (e.g., [12]). JATO performs interlanguage analysis and lock insertion to ensure atomicity of native methods in JNI code.…”
Section: Related Workmentioning
confidence: 99%
“…Native methods are notoriously unsafe and is a rich source of software errors. Recent studies have reported hundreds of interface bugs in JNI programs [6,31,14]. A number of systems are designed to improve and find misuses of the JNI interface.…”
Section: Related Workmentioning
confidence: 99%
“…They can be classified into three categories: (1) Jeannie [10] is a new interface language that allows programmers to mix Java with C code and a Jeannie program is then compiled into JNI code by the Jeannie compiler. (2) Several recent systems employ static analysis to identify specific classes of errors in JNI code [6,32,14,16]. (3) Jinn [15] generates dynamic checks at the language boundary to find interface errors.…”
Section: Related Workmentioning
confidence: 99%