TY - GEN
T1 - JET
T2 - 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA'11
AU - Li, Siliang
AU - Tan, Gang
PY - 2011
Y1 - 2011
N2 - Java's type system enforces exception-checking rules that stipulate a checked exception thrown by a method must be declared in the throws 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. Copyright is held by the author / owner(s).
AB - Java's type system enforces exception-checking rules that stipulate a checked exception thrown by a method must be declared in the throws 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. Copyright is held by the author / owner(s).
UR - http://www.scopus.com/inward/record.url?scp=81455154907&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=81455154907&partnerID=8YFLogxK
U2 - 10.1145/2048066.2048095
DO - 10.1145/2048066.2048095
M3 - Conference contribution
AN - SCOPUS:81455154907
SN - 9781450309400
T3 - Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA
SP - 345
EP - 357
BT - OOPSLA'11 - Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications
Y2 - 22 October 2011 through 27 October 2011
ER -