A new framework for debugging globally optimized code

Le Chun Wu, Rajiv Mirani, Harish Patil, Bruce Olsen, Wen-Mei W Hwu

Research output: Contribution to journalArticle

Abstract

With an increasing number of executable binaries generated by optimizing compilers today, providing a clear and correct source-level debugger for programmers to debug optimized code has become a necessity. In this paper, a new framework for debugging globally optimized code is proposed. This framework consists of a new code location mapping scheme, a data location tracking scheme, and an emulation-based forward recovery model. By taking over the control early and emulating instructions selectively, the debugger can preserve and gather the required program state for the recovery of expected variable values at source breakpoints. The framework has been prototyped in the IMPACT compiler and GDB-4.16. Preliminary experiments conducted on several SPEC95 integer programs have yielded encouraging results. The extra time needed for the debugger to calculate the limits of the emulated region and to emulate instructions is hardly noticeable, while the increase in executable file size due to the extra debug information is on average 76% of that of the executable file with no debug information.

Original languageEnglish (US)
Pages (from-to)181-191
Number of pages11
JournalSIGPLAN Notices (ACM Special Interest Group on Programming Languages)
Volume34
Issue number5
DOIs
StatePublished - May 1999

Fingerprint

Recovery
Experiments

ASJC Scopus subject areas

  • Software
  • Computer Graphics and Computer-Aided Design

Cite this

A new framework for debugging globally optimized code. / Wu, Le Chun; Mirani, Rajiv; Patil, Harish; Olsen, Bruce; Hwu, Wen-Mei W.

In: SIGPLAN Notices (ACM Special Interest Group on Programming Languages), Vol. 34, No. 5, 05.1999, p. 181-191.

Research output: Contribution to journalArticle

Wu, Le Chun ; Mirani, Rajiv ; Patil, Harish ; Olsen, Bruce ; Hwu, Wen-Mei W. / A new framework for debugging globally optimized code. In: SIGPLAN Notices (ACM Special Interest Group on Programming Languages). 1999 ; Vol. 34, No. 5. pp. 181-191.
@article{5b9ac007cb3f4ea78a3284559e5cd6a0,
title = "A new framework for debugging globally optimized code",
abstract = "With an increasing number of executable binaries generated by optimizing compilers today, providing a clear and correct source-level debugger for programmers to debug optimized code has become a necessity. In this paper, a new framework for debugging globally optimized code is proposed. This framework consists of a new code location mapping scheme, a data location tracking scheme, and an emulation-based forward recovery model. By taking over the control early and emulating instructions selectively, the debugger can preserve and gather the required program state for the recovery of expected variable values at source breakpoints. The framework has been prototyped in the IMPACT compiler and GDB-4.16. Preliminary experiments conducted on several SPEC95 integer programs have yielded encouraging results. The extra time needed for the debugger to calculate the limits of the emulated region and to emulate instructions is hardly noticeable, while the increase in executable file size due to the extra debug information is on average 76{\%} of that of the executable file with no debug information.",
author = "Wu, {Le Chun} and Rajiv Mirani and Harish Patil and Bruce Olsen and Hwu, {Wen-Mei W}",
year = "1999",
month = "5",
doi = "10.1145/301631.301663",
language = "English (US)",
volume = "34",
pages = "181--191",
journal = "ACM SIGPLAN Notices",
issn = "1523-2867",
publisher = "Association for Computing Machinery (ACM)",
number = "5",

}

TY - JOUR

T1 - A new framework for debugging globally optimized code

AU - Wu, Le Chun

AU - Mirani, Rajiv

AU - Patil, Harish

AU - Olsen, Bruce

AU - Hwu, Wen-Mei W

PY - 1999/5

Y1 - 1999/5

N2 - With an increasing number of executable binaries generated by optimizing compilers today, providing a clear and correct source-level debugger for programmers to debug optimized code has become a necessity. In this paper, a new framework for debugging globally optimized code is proposed. This framework consists of a new code location mapping scheme, a data location tracking scheme, and an emulation-based forward recovery model. By taking over the control early and emulating instructions selectively, the debugger can preserve and gather the required program state for the recovery of expected variable values at source breakpoints. The framework has been prototyped in the IMPACT compiler and GDB-4.16. Preliminary experiments conducted on several SPEC95 integer programs have yielded encouraging results. The extra time needed for the debugger to calculate the limits of the emulated region and to emulate instructions is hardly noticeable, while the increase in executable file size due to the extra debug information is on average 76% of that of the executable file with no debug information.

AB - With an increasing number of executable binaries generated by optimizing compilers today, providing a clear and correct source-level debugger for programmers to debug optimized code has become a necessity. In this paper, a new framework for debugging globally optimized code is proposed. This framework consists of a new code location mapping scheme, a data location tracking scheme, and an emulation-based forward recovery model. By taking over the control early and emulating instructions selectively, the debugger can preserve and gather the required program state for the recovery of expected variable values at source breakpoints. The framework has been prototyped in the IMPACT compiler and GDB-4.16. Preliminary experiments conducted on several SPEC95 integer programs have yielded encouraging results. The extra time needed for the debugger to calculate the limits of the emulated region and to emulate instructions is hardly noticeable, while the increase in executable file size due to the extra debug information is on average 76% of that of the executable file with no debug information.

UR - http://www.scopus.com/inward/record.url?scp=17244379771&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=17244379771&partnerID=8YFLogxK

U2 - 10.1145/301631.301663

DO - 10.1145/301631.301663

M3 - Article

AN - SCOPUS:17244379771

VL - 34

SP - 181

EP - 191

JO - ACM SIGPLAN Notices

JF - ACM SIGPLAN Notices

SN - 1523-2867

IS - 5

ER -