ePrints@IIScePrints@IISc Home | About | Browse | Latest Additions | Advanced Search | Contact | Help

Prioritizing constraint evaluation for efficient points-to analysis

Nasre, Rupesh and Govindarajan, R (2011) Prioritizing constraint evaluation for efficient points-to analysis. In: CGO '11 Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization, 2011, IEEE Computer Society Washington, DC, USA.

[img] PDF
Cod_Gen_Optimi_267_2011.pdf - Published Version
Restricted to Registered users only

Download (181kB) | Request a copy
Official URL: http://dx.doi.org/10.1109/CGO.2011.5764694

Abstract

Pervasive use of pointers in large-scale real-world applications continues to make points-to analysis an important optimization-enabler. Rapid growth of software systems demands a scalable pointer analysis algorithm. A typical inclusion-based points-to analysis iteratively evaluates constraints and computes a points-to solution until a fixpoint. In each iteration, (i) points-to information is propagated across directed edges in a constraint graph G and (ii) more edges are added by processing the points-to constraints. We observe that prioritizing the order in which the information is processed within each of the above two steps can lead to efficient execution of the points-to analysis. While earlier work in the literature focuses only on the propagation order, we argue that the other dimension, that is, prioritizing the constraint processing, can lead to even higher improvements on how fast the fixpoint of the points-to algorithm is reached. This becomes especially important as we prove that finding an optimal sequence for processing the points-to constraints is NP-Complete. The prioritization scheme proposed in this paper is general enough to be applied to any of the existing points-to analyses. Using the prioritization framework developed in this paper, we implement prioritized versions of Andersen's analysis, Deep Propagation, Hardekopf and Lin's Lazy Cycle Detection and Bloom Filter based points-to analysis. In each case, we report significant improvements in the analysis times (33%, 47%, 44%, 20% respectively) as well as the memory requirements for a large suite of programs, including SPEC 2000 benchmarks and five large open source programs.

Item Type: Conference Paper
Publisher: Association for Computing Machinery
Additional Information: Copyright of this article belongs to Association for Computing Machinery.
Department/Centre: Division of Electrical Sciences > Computer Science & Automation
Date Deposited: 18 Mar 2013 10:37
Last Modified: 18 Mar 2013 10:37
URI: http://eprints.iisc.ac.in/id/eprint/46024

Actions (login required)

View Item View Item