ACM Home Page
Please provide us with feedback. Feedback
Dynamic points-to sets: a comparison with static analyses and potential applications in program understanding and optimization
Full text PdfPdf (107 KB)
Source Workshop on Program Analysis for Software Tools and Engineering archive
Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering table of contents
Snowbird, Utah, United States
Pages: 66 - 72  
Year of Publication: 2001
ISBN:1-58113-413-4
Authors
Markus Mock  Department of Computer Science & Engineering, University of Washington, Box 352350, Seattle, W
Manuvir Das  Microsoft Research, Redmond, WA
Craig Chambers  Department of Computer Science & Engineering, University of Washington, Box 352350, Seattle, W
Susan J. Eggers  Department of Computer Science & Engineering, University of Washington, Box 352350, Seattle, W
Sponsors
SIGSOFT: ACM Special Interest Group on Software Engineering
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 34,   Citation Count: 13
Additional Information:

abstract   references   cited by   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/379605.379671
What is a DOI?

ABSTRACT

In this paper, we compare the behavior of pointers in C programs, as approximated by static pointer analysis algorithms, with the actual behavior of pointers when these programs are run. In order to perform this comparison, we have implemented several well known pointer analysis algorithms, and we have built an instrumentation infrastructure for tracking pointer values during program execution.Our experiments show that for a number of programs from the Spec95 and Spec2000 benchmark suites, the pointer information produced by existing scalable static pointer analyses is far worse than the actual behavior observed at run-time. These results have two implications. First, a tool like ours can be used to supplement static program understanding tools in situations where the static pointer information is too coarse to be usable. Second, a feedback-directed compiler can use profile data on pointer values to improve program performance by ignoring aliases that do not arise at run time (and inserting appropriate run-time checks to ensure safety). As an example, we were able to obtain a factor of 6 speedup on a frequently executed routine from m88ksim.


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
L. Anderson. Program Analysis and specialization for the C programming language. Ph.D. thesis, DIKU, University of Copenhagen, May 1994. DIKU report 94/19.
2
3
4
5
 
6
7
8
 
9
 
10
G. Holloway and C. Young. The flow and analysis libraries of machine SUIF. In Proceedings of the 2nd SUIF Compiler Workshop, August 1997.
11
12
13
 
14
M. Mock, M. Berryman, C. Chambers, and S.J. Eggers. Calpa: A tool for automating dynamic compilation. In 2nd Workshop on Feedback-Directed Optimization, November 1999.
15
16
17
18
 
19
M. D. Smith. Extending SUIF for machine-dependent optimizations. In Proceedings of the first SUIF compiler workshop, pages 14-15, January 1996.
20
21
22

CITED BY  13

Collaborative Colleagues:
Markus Mock: colleagues
Manuvir Das: colleagues
Craig Chambers: colleagues
Susan J. Eggers: colleagues