DOC: a practical approach to source-level debugging of globally optimized code
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
The priority-based coloring approach to register allocation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new approach to debugging optimized code
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
A note on Hennessy's “symbolic debugging of optimized code”
ACM Transactions on Programming Languages and Systems (TOPLAS)
Symbolic Debugging of Optimized Code
ACM Transactions on Programming Languages and Systems (TOPLAS)
Register allocation & spilling via graph coloring
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
An interactive high-level debugger for control-flow optimized programs (Summary)
SIGSOFT '83 Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on High-level debugging
DETECTING UNEXPECTED DATA VALUES IN OPTIMIZED CODE
DETECTING UNEXPECTED DATA VALUES IN OPTIMIZED CODE
DEBUGGING OPTIMIZED CODE WITHOUT BEING MISLED
DEBUGGING OPTIMIZED CODE WITHOUT BEING MISLED
A FURTHER NOTE ON HENNESSY''S ``SYMBOLIC DEBUGGING OF OPTIMIZED CODE''''
A FURTHER NOTE ON HENNESSY''S ``SYMBOLIC DEBUGGING OF OPTIMIZED CODE''''
Interactive source-level debugging for optimized programs (compilation, high-level)
Interactive source-level debugging for optimized programs (compilation, high-level)
Practical data breakpoints: design and implementation
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Detection and recovery of endangered variables caused by instruction scheduling
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Debugging optimized code without being misled
ACM Transactions on Programming Languages and Systems (TOPLAS)
Debugging of globally optimized programs using data flow analysis
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Source-level debugging of scalar optimized code
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Dynamic currency determination in optimized programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A new framework for debugging globally optimized code
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
A Practical, Robust Method for Generating Variable Range Tables
CC '01 Proceedings of the 10th International Conference on Compiler Construction
A fully-non-transparent approach to the code location problem
SCOPES '08 Proceedings of the 11th international workshop on Software & compilers for embedded systems
Detecting bugs in register allocation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
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.