| Pointer analysis for programs with structures and casting |
| Full text |
Pdf
(1.65 MB)
|
| Source
|
Conference on Programming Language Design and Implementation
archive
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
table of contents
Atlanta, Georgia, United States
Pages: 91 - 103
Year of Publication: 1999
ISBN:1-58113-094-5
Also published in ...
|
|
Authors
|
|
Suan Hsi Yong
|
Computer Sciences Department, University of Wisconsin-Madison, 1210 West Dayton Street, Madison, WI
|
|
Susan Horwitz
|
Computer Sciences Department, University of Wisconsin-Madison, 1210 West Dayton Street, Madison, WI
|
|
Thomas Reps
|
Computer Sciences Department, University of Wisconsin-Madison, 1210 West Dayton Street, Madison, WI
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 8, Downloads (12 Months): 31, Citation Count: 30
|
|
|
ABSTRACT
Type casting allows a program to access an object as if it had a type different from its declared type. This complicates the design of a pointer-analysis algorithm that treats structure fields as separate objects; therefore, some previous pointer-analysis algorithms "collapse" a structure into a single variable. The disadvantage of this approach is that it can lead to very imprecise points-to information. Other algorithms treat each field as a separate object based on its offset and size. While this approach leads to more precise results, the results are not portable because the memory layout of structures is implementation dependent.This paper first describes the complications introduced by type casting, then presents a tunable pointer-analysis framework for handling structures in the presence of casting. Different instances of this framework produce algorithms with different levels of precision, portability, and efficiency. Experimental results from running our implementations of four instances of this framework show that (i) it is important to distinguish fields of structures in pointer analysis, but (ii) making conservative approximations when casting is involved usually does not cost much in terms of time, space, or the precision of the results.
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.
 |
ABS94
|
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
|
| |
And94
|
L.O. Andersen. Program Analysis and Specialization for the C Programming Language. P hD thesis, DiKU, University of Copenhagen, May 1994. (DIKU report 94/19).
|
| |
BCCH94
|
|
 |
CBC93
|
|
 |
EGH94
|
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
|
| |
ISO90
|
ISO/IEC. International Standard ISO/IEC 9899, Programming Languages- C. 1st Ed. 1990.
|
 |
LRZ93
|
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
|
 |
Ruf95
|
|
| |
Ryd98
|
B. Ryder. personal communication, September 1998.
|
| |
SH97a
|
|
 |
SH97b
|
|
 |
SRLZ98
|
Philip A. Stocks , Barbara G. Ryder , William A. Landi , Sean Zhang, Comparing flow and context sensitivity on the modification-side-effects problem, Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis, p.21-31, March 02-04, 1998, Clearwater Beach, Florida, United States
|
| |
Ste96a
|
|
 |
Ste96b
|
|
| |
Ton97
|
|
 |
WFW+94
|
Robert P. Wilson , Robert S. French , Christopher S. Wilson , Saman P. Amarasinghe , Jennifer M. Anderson , Steve W. K. Tjiang , Shih-Wei Liao , Chau-Wen Tseng , Mary W. Hall , Monica S. Lam , John L. Hennessy, SUIF: an infrastructure for research on parallelizing and optimizing compilers, ACM SIGPLAN Notices, v.29 n.12, p.31-37, Dec. 1994
[doi> 10.1145/193209.193217]
|
 |
WL95
|
|
CITED BY 30
|
|
|
|
|
|
|
|
|
|
|
Gary M. Zoppetti , Gagan Agrawal , Lori Pollock , Jose Nelson Amaral , Xinan Tang , Guang Gao, Automatic compiler techniques for thread coarsening for multithreaded architectures, Proceedings of the 14th international conference on Supercomputing, p.306-315, May 08-11, 2000, Santa Fe, New Mexico, United States
|
|
|
|
|
|
Markus Mock , Manuvir Das , Craig Chambers , Susan J. Eggers, Dynamic points-to sets: a comparison with static analyses and potential applications in program understanding and optimization, Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, p.66-72, June 2001, Snowbird, Utah, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Dzintars Avots , Michael Dalton , V. Benjamin Livshits , Monica S. Lam, Improving software security with a C pointer analysis, Proceedings of the 27th international conference on Software engineering, May 15-21, 2005, St. Louis, MO, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Vinod Ganapathy , Somesh Jha , David Chandler , David Melski , David Vitek, Buffer overrun detection using linear programming and static analysis, Proceedings of the 10th ACM conference on Computer and communications security, October 27-30, 2003, Washington D.C., USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|