English

Improving bit-vector representation of points-to sets using class hierarchy

Programming Languages 2015-03-19 v1

Abstract

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.

Keywords

Cite

@article{arxiv.1108.2683,
  title  = {Improving bit-vector representation of points-to sets using class hierarchy},
  author = {Hamid A. Toussi and Ahmed Khademzadeh},
  journal= {arXiv preprint arXiv:1108.2683},
  year   = {2015}
}
R2 v1 2026-06-21T18:49:54.207Z