|
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
|
Gary Brooks , Gilbert J. Hansen , Steve Simmons, A new approach to debugging optimized code, Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation, p.1-11, June 15-19, 1992, San Francisco, California, United States
|
 |
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
|
D. S. Coutant , S. Meloy , M. Ruscetta, DOC: a practical approach to source-level debugging of globally optimized code, Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation, p.125-134, June 20-24, 1988, Atlanta, Georgia, United States
|
 |
12
|
|
| |
13
|
S. Simmons. Personal communication. 1992.
|
 |
14
|
|
 |
15
|
|
| |
16
|
|
|