Accession Number : ADA260928


Title :   Evicted Variables and the Interaction of Global Register Allocation and Symbolic Debugging


Corporate Author : CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE


Personal Author(s) : Adl-Tabatabai, Ali-Reza ; Gross, Thomas


Full Text : https://apps.dtic.mil/dtic/tr/fulltext/u2/a260928.pdf


Report Date : Oct 1992


Pagination or Media Count : 19


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.


Descriptors :   *OPTIMIZATION , *VARIABLES , *DEBUGGING(COMPUTERS) , ALGORITHMS , DETECTION , ALLOCATIONS , VALUE , COMPILERS , FLOW , TIME , PROBLEM SOLVING , GLOBAL


Subject Categories : Computer Programming and Software


Distribution Statement : APPROVED FOR PUBLIC RELEASE