Improving bit-vector representation of points-to sets using class hierarchy
Hamid A. Toussi, Ahmed Khademzadeh

TL;DR
This paper introduces a type-aware bit-vector representation for points-to sets in static analysis, significantly reducing memory usage and analysis time by considering type hierarchies.
Contribution
It proposes a novel type-based bit-vector allocation method for points-to analysis, improving efficiency over previous type-agnostic approaches.
Findings
Uses about 2.5 times less memory than existing methods
Improves analysis time for large programs
Effectively leverages class hierarchy for memory optimization
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Parallel Computing and Optimization Techniques · Software Engineering Research
