Scaling Context-Sensitive Points-to Analysis
Novel ideas to tame the scalability challenges
Rupesh Nasre
- 212 pages
- English
- PDF
- Available on iOS & Android
Scaling Context-Sensitive Points-to Analysis
Novel ideas to tame the scalability challenges
Rupesh Nasre
About This Book
Pointer analysis is one of the key static analyses during compilation and affects scalability and precision of several client transformations. Recent advances still lack an efficient and scalable context-sensitive inclusion-based pointer analysis. In this work, we propose four novel techniques to improve the scalability of context-sensitive points-to analysis for C/C++ programs. First, we develop an efficient way of storing the approximate points-to information using a multi-dimensional bloom filter (multibloom). Second, we devise a sound randomized algorithm that processes a group of constraints in a less precise but efficient manner and the remaining constraints in a more precise manner. Third, we transform the points-to analysis problem into finding a solution to a system of linear equations. Finally, we observe that the order in which points-to constraints are processed plays a vital role in the algorithm efficiency and propose a greedy heuristic based on the amount of points-to information computed by a constraint to prioritize the constraints. We illustrate that our algorithms help in scaling the state-of-the-art pointer analyses.