Title
Set-based pre-processing for points-to analysis
Abstract
We present set-based pre-analysis: a virtually universal optimization technique for flow-insensitive points-to analysis. Points-to analysis computes a static abstraction of how object values flow through a program's variables. Set-based pre-analysis relies on the observation that much of this reasoning can take place at the set level rather than the value level. Computing constraints at the set level results in significant optimization opportunities: we can rewrite the input program into a simplified form with the same essential points-to properties. This rewrite results in removing both local variables and instructions, thus simplifying the subsequent value-based points-to computation. Effectively, set-based pre-analysis puts the program in a normal form optimized for points-to analysis. Compared to other techniques for off-line optimization of points-to analyses in the literature, the new elements of our approach are the ability to eliminate statements, and not just variables, as well as its modularity: set-based pre-analysis can be performed on the input just once, e.g., allowing the pre-optimization of libraries that are subsequently reused many times and for different analyses. In experiments with Java programs, set-based pre-analysis eliminates 30% of the program's local variables and 30% or more of computed context-sensitive points-to facts, over a wide set of benchmarks and analyses, resulting in a ~20% average speedup (max: 110%, median: 18%).
Year
DOI
Venue
2013
10.1145/2509136.2509524
OOPSLA
Keywords
Field
DocType
input program,subsequent value-based points-to computation,computed context-sensitive points-to fact,local variable,set-based pre-processing,points-to analysis,different analysis,set-based pre-analysis,essential points-to property,java program,flow-insensitive points-to analysis,optimization
Programming language,Abstraction,Result set,Computer science,Algorithm,Theoretical computer science,A-normal form,Java,Local variable,Modularity,Computation,Speedup
Conference
Volume
Issue
ISSN
48
10
0362-1340
Citations 
PageRank 
References 
6
0.44
17
Authors
3
Name
Order
Citations
PageRank
Yannis Smaragdakis12247147.50
George Balatsouras2844.43
George Kastrinis31226.95