Improving bit-vector representation of points-to sets using class hierarchy
Proceeding of ICSCT 2010, Kunming, China, November 2010 Points-to analysis is the problem of approximating run-time values of pointers statically or at compile-time. Points-to sets are used to store the approximated values of pointers during points-to analysis. Memory usage and running time limit th...
Saved in:
Main Authors | , |
---|---|
Format | Journal Article |
Language | English |
Published |
12.08.2011
|
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | Proceeding of ICSCT 2010, Kunming, China, November 2010 Points-to analysis is the problem of approximating run-time values of
pointers statically or at compile-time. Points-to sets are used to store the
approximated values of pointers during points-to analysis. Memory usage and
running time limit the ability of points-to analysis to analyze large programs.
To our knowledge, works which have implemented a bit-vector representation of
points-to sets so far, allocates bits for each pointer without considering
pointer's type. By considering the type, we are able to allocate bits only for
a subset of all abstract objects which are of compatible type with the
pointer's type and as a consequence improve the memory usage and running time.
To achieve this goal, we number abstract objects in a way that all the abstract
objects of a type and all of its sub-types be consecutive in order.
Our most efficient implementation uses about 2.5 times less memory than
hybrid points-to set (default points-to set in Spark) and also improves the
analysis time for sufficiently large programs. |
---|---|
DOI: | 10.48550/arxiv.1108.2683 |