Definite expression aliasing analysis for java bytecode

  • Authors:
  • Đurica Nikolić;Fausto Spoto

  • Affiliations:
  • Dipartimento di Informatica, University of Verona, Italy,The Microsoft Research, University of Trento Center for Computational and Systems Biology, Italy;Dipartimento di Informatica, University of Verona, Italy

  • Venue:
  • ICTAC'12 Proceedings of the 9th international conference on Theoretical Aspects of Computing
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

We define a novel static analysis for Java bytecode, called definite expression aliasing. It infers, for each variable v at each program point p, a set of expressions whose value at p is equal to the value of v at p, for every possible execution of the program. Namely, it determines which expressions must be aliased to local variables and stack elements of the Java Virtual Machine. This is a useful piece of information for a static analyzer, such as Julia, since it can be used to refine other analyses at conditional statements or assignments. We formalize and implement a constraint-based analysis, defined and proved correct in the abstract interpretation framework. Moreover, we show the benefits of our definite expression aliasing analysis for nullness and termination analysis with Julia.