ACM Home Page
Please provide us with feedback. Feedback
Which pointer analysis should I use?
Full text PdfPdf (619 KB)
Source International Symposium on Software Testing and Analysis archive
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis table of contents
Portland, Oregon, United States
Pages: 113 - 123  
Year of Publication: 2000
ISBN:1-58113-266-2
Also published in ...
Authors
Michael Hind  IBM Watson Research Centr, Hawthorne, NY
Anthony Pioli  Register.com, New York, NY
Sponsor
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 16,   Downloads (12 Months): 195,   Citation Count: 32
Additional Information:

abstract   references   cited by   index terms   review   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/347324.348916
What is a DOI?

ABSTRACT

During the past two decades many different pointer analysis algorithms have been published. Although some descriptions include measurements of the effectiveness of the algorithm, qualitative comparisons among algorithms are difficult because of varying infrastructure, benchmarks, and performance metrics. Without such comparisons it is not only difficult for an implementor to determine which pointer analysis is appropriate for their application, but also for a researcher to know which algorithms should be used as a basis for future advances.This paper describes an empirical comparison of the effectiveness of five pointer analysis algorithms on C programs. The algorithms vary in their use of control flow information (flow-sensitivity) and alias data structure, resulting in worst-case complexity from linear to polynomial. The effectiveness of the analyses is quantified in terms of compile-time precision and efficiency. In addition to measuring the direct effects of pointer analysis, precision is also reported by determining how the information computed by the five pointer analyses affects typical client analyses of pointer information: Mod/Ref analysis, live variable analysis and dead assignment identification, reaching definitions analysis, dependence analysis, and conditional constant propagation and unreachable code identification. Efficiency is reported by measuring analysis time and memory consumption of the pointer analyses and their clients.


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
L. O. Andersen. Program Analysis and Specialization for the C Programming Language. PhD thesis, DIKU, University of Copenhagen, May 1994. Available at ftp.diku.dk/pub/diku/semantics/papers/D-203.dvi.Z.
3
 
4
T. Austin. Pointer-intensive benchmark suite, version 1.1. http://www.cs.wisc.edu/~austin/ptr-dist.html, 1995.
 
5
6
7
8
9
 
10
11
12
 
13
 
14
15
16
 
17
W. Landi. Personal communication, Oct. 1997.
18
19
 
20
W. A. Landi, B. G. Ryder, P. A. Stocks, S. Zhang, and R. Altucher. A schema for interprocedural modi~cation side-e~ect analysis with pointer aliasing. Technical Report DCS-TR-336, Department of Computer Science, Rutgers University, May 1998.
21
22
 
23
T. J. Marlowe, B. G. Ryder, and M. G. Burke. De~ning ow sensitivity indata ow problems. Technical Report RC 20138, IBM T. J. Watson Research Center, July 1995.
 
24
 
25
 
26
A. Pioli. Conditional pointer aliasing and constant propagation. Master's thesis, SUNY at New Paltz, 1999. Available at http://www.mcs.newpaltz.edu/tr as Technical Report # 99-102.
 
27
A. Pioli and M. Hind. Combining interprocedural pointer analysis and conditional constant propagation. Research Report 21532, IBM T. J. Watson Research Center, Mar. 1999. Also available as SUNY at New Paltz Technical Report #99-103.
28
29
 
30
E. Ruf. Personal communication, Oct. 1997.
 
31
Rutgers PROLANGS. http://www.prolangs.rutgers.edu/public.html, 1999.
 
32
33
34
35
 
36
 
37
F. Tip. A survey of program slicing techniques. Journal of Programming Languages, 3(3):121{189, 1995.
38
 
39
40
41
42

CITED BY  32


REVIEW

"Kenneth I. Magel : Reviewer"

This is an outstanding paper, which will be directly useful to programming language implementers and designers, and indirectly useful to many software developers.

The paper describes a detailed and careful empirical analysis of the effective  more...

Collaborative Colleagues:
Michael Hind: colleagues
Anthony Pioli: colleagues