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.
Bitte wählen Sie Ihr Anliegen aus.
Rechnungen
Retourenschein anfordern
Bestellstatus
Storno