Interprocedural exception analysis for Java

Current JDK Java compiler relies too much on programmer’s specification for checking against uncaught exceptions of the input program. It is not elaborate enough to remove programmer’s unnecessary handlers (when programmer’s specifications are too many) nor suggest to programmers for specialized handlings (when programmer’s specifications are too general). We propose a static analysis of Java programs that estimates their exception flows independently of the programmer’s specifications. This analysis is designed and implemented based on set-constraint framework. Its cost-effectiveness is suggested by sparsely analyzing the program at method-level (hence reducing the number of unknowns in the flow equations). We have shown that our exception analysis can effectively detect uncaught exceptions for realistic Java programs.

[1]  Robin Milner,et al.  Definition of standard ML , 1990 .

[2]  Jens Palsberg,et al.  Object-oriented type inference , 1991, OOPSLA '91.

[3]  Nevin Charles Heintze,et al.  Set based program analysis , 1992 .

[4]  Kwangkeun Yi Compile-time Detection of Uncaught Exceptions in Standard ML Programs , 1994, SAS.

[5]  Patrick Cousot,et al.  Compositional and Inductive Semantic Definitions in Fixpoint, Equational, Constraint, Closure-condition, Rule-based and Game-Theoretic Form , 1995, CAV.

[6]  Sophia Drossopoulou,et al.  Java is Type Safe - Probably , 1997, ECOOP.

[7]  Kwangkeun Yi,et al.  Towards a Cost-Effective Estimation of Uncaught Exceptions in SML Programs , 1997, SAS.

[8]  Kwangkeun Yi An Abstract Interpretation for Estimating Uncaught Exceptions in Standard ML Programs , 1998, Sci. Comput. Program..

[9]  Tobias Nipkow,et al.  Javalight is type-safe—definitely , 1998, POPL '98.

[10]  Jeffrey S. Foster,et al.  Tracking down Exceptions in Standard ML Programs , 1998 .

[11]  David Grove,et al.  Fast interprocedural class analysis , 1998, POPL '98.

[12]  Martin P. Robillard,et al.  Analyzing exception flow in Java programs , 1999, ESEC/FSE-7.

[13]  Kwangkeun Yi,et al.  Exception Analysis for Java , 1999, ECOOP Workshops.

[14]  Sophia Drossopoulou,et al.  Java Type Soundness Revisited , 2000 .

[15]  François Pessaux,et al.  Type-based analysis of uncaught exceptions , 2000, TOPL.

[16]  Kwangkeun Yi,et al.  A cost-effective estimation of uncaught exceptions in Standard ML programs , 2002, Theor. Comput. Sci..