ACM Home Page
Please provide us with feedback. Feedback
Efficient alias set analysis using SSA form
Full text PdfPdf (393 KB)
Source
International Symposium on Memory Management archive
Proceedings of the 2009 international symposium on Memory management table of contents
Dublin, Ireland
SESSION: Paper session 3 table of contents
Pages 79-88  
Year of Publication: 2009
ISBN:978-1-60558-347-1
Authors
Nomair A. Naeem  University of Waterloo, Waterloo, ON, Canada
Ondrej Lhoták  University of Waterloo, Waterloo, ON, Canada
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 27,   Downloads (12 Months): 51,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1542431.1542443
What is a DOI?

ABSTRACT

Precise, flow-sensitive analyses of pointer relationships often represent each object using the set of local variables that point to it (the alias set), possibly augmented with additional predicates. Many such analyses are difficult to scale due to the size of the abstraction and due to flow sensitivity. The focus of this paper is on efficient representation and manipulation of the alias set. Taking advantage of certain properties of static single assignment (SSA) form, we propose an efficient data structure that allows much of the representations of sets at different points in the program to be shared. The transfer function for each statement, instead of creating an updated set, makes only local changes to the existing data structure representing the set. The key enabling properties of SSA form are that every point at which a variable is live is dominated by its definition, and that the definitions of any set of simultaneously live variables are totally ordered according to the dominance relation. We represent the variables pointing to an object using a list ordered consistently with the dominance relation. Thus, when a variable is newly defined to point to the object, it need only be added to the head of the list. A back edge at which some variables cease to be live requires only dropping variables from the head of the list. We prove that the analysis using the proposed data structure computes the same result as a set-based analysis. We empirically show that the proposed data structure is more efficient in both time and memory requirements than set implementations using hash tables and balanced trees.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
3
4
5
 
6
A. Deutsch. A storeless model of aliasing and its abstractions using finite representations of right-regular equivalence relations. 4th International Conference on Computer Languages, pages 2--13, 1992.
 
7
B. Dufour. Objective quantification of program behaviour using dynamic metrics. Master's thesis, McGill University, June 2004.
8
9
 
10
11
12
 
13
H. B. M. Jonkers. Abstract storage structures. de Bakker and van Vliet, editors, Algorithmic Languages, pages 321--343. IFIP, North Holland, 1981.
 
14
J. B. Kam and J. D. Ullman. Monotone data flow analysis frameworks. Acta Inf., 7:305--317, 1977.
15
 
16
N. A. Naeem and O. Lhoták. Extending typestate analysis to multiple interacting objects. Technical Report CS--2008--04, David R. Cheriton School of Computer Science, University of Waterloo, 2008. http://www.cs.uwaterloo.ca/research/tr/2008/CS--2008--04.pdf.
17
 
18
 
19
M. Orlovich and R. Rugina. Memory leak analysis by contradiction. K. Yi, editor, Static Analysis, 13th International Symposium, SAS 2006, Seoul, Korea, August 29-31, 2006, Proceedings, volume 4134 of Lecture Notes in Computer Science, pages 405--424. Springer, 2006.
20
21
 
22
B. G. Ryder. Dimensions of precision in reference analysis of object-oriented programming languages. G. Hedin, editor, Compiler Construction, 12th International Conference, CC 2003, volume 2622 of Lecture Notes in Computer Science, pages 126--137. Springer, 2003.
23
24
 
25
26

Collaborative Colleagues:
Nomair A. Naeem: colleagues
Ondrej Lhoták: colleagues