ACM Home Page
Please provide us with feedback. Feedback
Evicted variables and the interaction of global register allocation and symbolic debugging
Full text PdfPdf (1.33 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Charleston, South Carolina, United States
Pages: 371 - 383  
Year of Publication: 1993
ISBN:0-89791-560-7
Authors
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 10,   Citation Count: 8
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/158511.158692
What is a DOI?

ABSTRACT

A symbolic debugger allows a user to display the values of program variables at a breakpoint. However, problems arise if the program is translated by an optimizing compiler. This paper addresses the effects of global register allocation and assignment: a register assigned to a variable V may not be holding V's value at a breakpoint since the register can also be assigned to other variables. We define the problem of determining whether a variable is in its assigned register as the residence problem. Prior work on debugging of optimized code has focused on the currency problem; detecting whether a variable's run-time value is the expected value. Determining residence is a more serious problem than currency detection. We present a data flow algorithm that accurately computes a variable's residency, by determining when a variable becomes evicted from its register. We measure the effectiveness of different approaches to determine variable residence for three C programs from the SPEC suite.


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
A. Adl-Tabatabai. Symbolic debugging of optimized C code. Unpublished draft from School of Computer Science, Carnegie Mellon University, 1992.
 
2
A. V. Aho, R. Sethi, and Unman J. D. Compilers. Addison-Wesley, 1986.
 
3
T. Bemmerl and R. Wismueller. Quellcode debugging yon global optimierten programmen. Presented at 1992 Dagstuhl Seminar, Feb. 1992. (in German).
4
5
6
 
7
M. Copperman. Debugging optimized code: Currentness determination with data flow. In Proc. Supercomputer Debugging Workshop '92, Dallas, October 1992. Los Alamos National Laboratory.
 
8
 
9
 
10
11
12
 
13
S. Simmons. Personal communication. 1992.
14
15
 
16


Collaborative Colleagues:
Ali-Reza Adl-Tabatabai: colleagues
Thomas Gross: colleagues