ACM Home Page
Please provide us with feedback. Feedback
Pointer analysis for programs with structures and casting
Full text PdfPdf (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
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): 8,   Downloads (12 Months): 31,   Citation Count: 30
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/301618.301647
What is a DOI?

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
 
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
 
ISO90
ISO/IEC. International Standard ISO/IEC 9899, Programming Languages- C. 1st Ed. 1990.
LRZ93
Ruf95
 
Ryd98
B. Ryder. personal communication, September 1998.
 
SH97a
SH97b
SRLZ98
 
Ste96a
Ste96b
 
Ton97
WFW+94
WL95

CITED BY  30

Collaborative Colleagues:
Suan Hsi Yong: colleagues
Susan Horwitz: colleagues
Thomas Reps: colleagues