Research
Home Research Publication Contact

 

Instance-wise Points-to Analysis

Java's "un-conventional" implementation of multi-dimensional arrays and its common use of references make it difficult to apply Fortran-like optimizations directly on Java. We developed a pointer analysis which enables safely reordering of instructions across iteration boundaries.  The output of the analysis can enable many loop-optimizations for Java. The analysis can also be used in determining shapes of Java arrays.  A prototype implementation is undergoing as part of the NOVA project.

Java Container Classes

Standard Java container classes such as vectors, lists, and hash-tables, exhibit clean semantics and well-defined interfaces. Our analysis exploits the clean data abstractions usually provided by object-oriented class libraries.  Basically, the analysis has built-in knowledge of the semantics of basic container operations.  I am working on shape analyses for Java container classes using the approach. My previous work also exploited semantics of standard container classes in the parallelization of general-purpose Java programs, for details click here.