Título: Spark : a flexible points-to analysis framework for Java
Autores: Lhoták, Ondr̆ej
Fecha: 2003
Publicador: McGill University - MCGILL
Fuente:
Tipo: Electronic Thesis or Dissertation
Tema: Computer Science.
Descripción: Many compiler analyses and optimizations require precise information about the behaviour of pointers in order to be effective. Points-to analysis is a technique for computing this information that has been studied extensively over the last decade. Most of this research has focused on points-to analyses for C. The behaviour of points-to analysis on higher-level languages such as Java appears very different than on C. Moreover, most proposed points-to analysis techniques were evaluated in disparate analysis systems and benchmarks, making it difficult to compare their effectiveness.
To address these issues, this thesis introduces SPARK, a flexible framework for experimenting with points-to analyses for Java. S PARK is intended to be a universal framework within which different points-to analyses can be easily implemented and compared in a common context. Currently, SPARK supports equality- and subset-based analyses, variations in field sensitivity, respect for declared types, variations in call graph construction, off-line simplification; and several points-to set propagation algorithms.
A substantial study of factors affecting precision and efficiency of points-to analyses has been performed as a demonstration of SPARK in action. The results show that SPARK is not only flexible and modular, but also very efficient compared to other points-to analysis implementations.
Two client analyses that use the points-to information are described, call graph construction and side-effect analysis. The side-effect information can be encoded in Java class file attributes, so that, it can later be used for optimization by other compilers and virtual machines.
SPARK has been demonstrated to be a flexible and efficient framework for Java points-to analysis. Several experiments that could be performed with it are suggested.
Idioma: en