| Dynamic points-to sets: a comparison with static analyses and potential applications in program understanding and optimization |
| Full text |
Pdf
(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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 3, Downloads (12 Months): 34, Citation Count: 13
|
|
|
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
|
Todd M. Austin , Scott E. Breach , Gurindar S. Sohi, Efficient detection of all pointer and array access errors, Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, p.290-301, June 20-24, 1994, Orlando, Florida, United States
|
 |
3
|
David Bernstein , Doron Cohen , Dror E. Maydan, Dynamic memory disambiguation for array references, Proceedings of the 27th annual international symposium on Microarchitecture, p.105-111, November 30-December 02, 1994, San Jose, California, United States
[doi> 10.1145/192724.192737]
|
 |
4
|
|
 |
5
|
|
| |
6
|
|
 |
7
|
Amer Diwan , Kathryn S. McKinley , J. Eliot B. Moss, Type-based alias analysis, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.106-117, June 17-19, 1998, Montreal, Quebec, Canada
|
 |
8
|
Maryam Emami , Rakesh Ghiya , Laurie J. Hendren, Context-sensitive interprocedural points-to analysis in the presence of function pointers, Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, p.242-256, June 20-24, 1994, Orlando, Florida, United States
|
| |
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
|
William Landi , Barbara G. Ryder , Sean Zhang, Interprocedural modification side effect analysis with pointer aliasing, Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, p.56-67, June 21-25, 1993, Albuquerque, New Mexico, United States
|
 |
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
|
Suan Hsi Yong , Susan Horwitz , Thomas Reps, Pointer analysis for programs with structures and casting, Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation, p.91-103, May 01-04, 1999, Atlanta, Georgia, United States
|
CITED BY 13
|
|
|
|
|
|
|
|
|
|
|
Markus Mock , Darren C. Atkinson , Craig Chambers , Susan J. Eggers, Improving program slicing with dynamic points-to data, Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering, November 18-22, 2002, Charleston, South Carolina, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Antonia Zhai , Christopher B. Colohan , J. Gregory Steffan , Todd C. Mowry, Compiler Optimization of Memory-Resident Value Communication Between Speculative Threads, Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization, p.39, March 20-24, 2004, Palo Alto, California
|
|
|
|
|
|
Philip J. Guo , Jeff H. Perkins , Stephen McCamant , Michael D. Ernst, Dynamic inference of abstract types, Proceedings of the 2006 international symposium on Software testing and analysis, July 17-20, 2006, Portland, Maine, USA
|
|
|
|
|
|
|
|