Granularity of constraint-based analysis for Java

This paper proposes a transformation-based approach to design constraint-based analyses for Java at a coarser granularity. In this approach, we design a less or equally precise but more efficient version of an original analysis by transforming the original construction rules into new ones. As applications of this rule transformation, we provide two instances of analysis design by rule-transformation. The first one designs a sparse version of class analysis for Java and the second one deals with a sparse exception analysis for Java. Both are designed based on method-level, and the sparse exception analysis is shown to give the same information for every method as the original analysis.

[1]  Patrick Cousot,et al.  Abstract Interpretation and Application to Logic Programs , 1992, J. Log. Program..

[2]  Kwangkeun Yi,et al.  Interprocedural exception analysis for Java , 2001, SAC.

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

[4]  Flemming Nielson,et al.  Principles of Program Analysis , 1999, Springer Berlin Heidelberg.

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

[6]  Rajiv Gupta,et al.  Reducing the Cost of Data Flow Analysis By Congruence Partitioning , 1994, CC.

[7]  Matthias Felleisen,et al.  Componential set-based analysis , 1997, TOPL.

[8]  François Bourdoncle,et al.  Abstract interpretation by dynamic partitioning , 1992, Journal of Functional Programming.

[9]  Stephen N. Freund,et al.  Type-based race detection for Java , 2000, PLDI '00.

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

[11]  Jens Palsberg,et al.  Scalable propagation-based call graph construction algorithms , 2000, OOPSLA '00.

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

[13]  Alexander Aiken,et al.  Partial online cycle elimination in inclusion constraint graphs , 1998, PLDI.

[14]  Nevin Heintze,et al.  Set-based analysis of ML programs , 1994, LFP '94.

[15]  YiKwangkeun,et al.  A cost-effective estimation of uncaught exceptions in standard ML programs , 2002 .

[16]  Patrick Cousot,et al.  Formal language, grammar and set-constraint-based program analysis by abstract interpretation , 1995, FPCA '95.

[17]  Alexander Aiken,et al.  Projection merging: reducing redundancies in inclusion constraint graphs , 2000, POPL '00.

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

[19]  Neil D. Jones,et al.  A flexible approach to interprocedural data flow analysis and programs with recursive data structures , 1982, POPL '82.

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

[21]  David F. Bacon,et al.  Fast static analysis of C++ virtual function calls , 1996, OOPSLA '96.