JET: Exception checking in the Java Native Interface

Saved in:
Bibliographic Details
Title: JET: Exception checking in the Java Native Interface
Authors: Siliang Li, Gang Tan
Contributors: The Pennsylvania State University CiteSeerX Archives
Source: http://www.cse.lehigh.edu/~gtan/paper/jet.pdf.
Publication Year: 2011
Collection: CiteSeerX
Subject Terms: Languages, Reliability Exception Checking, Java Native Interface, Static
Description: Java’s type system enforces exception-checking rules that stipulate a checked exception thrown by a method must be declared in thethrows clause of the method. Software written in Java often invokes native methods through the use of the Java Native Interface (JNI). Java’s type system, however, cannot enforce the same exception-checking rules on Java exceptions raised in native methods. This gap makes Java software potentially buggy and often difficult to debug when an exception is raised in native code. In this paper, we propose a complete static-analysis framework called JET to extend exception-checking rules even on native code. The framework has a two-stage design where the first stage throws away a large portion of irrelevant code so that the second stage, a fine-grained analysis, can concentrate on a small set of code for accurate bug finding. This design achieves both high efficiency and accuracy. We have applied JET on a set of benchmark programs with a total over 227K lines of source code and identified 12 inconsistent native-method exception declarations.
Document Type: text
File Description: application/pdf
Language: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.297.4772; http://www.cse.lehigh.edu/~gtan/paper/jet.pdf
Availability: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.297.4772
http://www.cse.lehigh.edu/~gtan/paper/jet.pdf
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number: edsbas.4E9EECC9
Database: BASE
Be the first to leave a comment!
You must be logged in first