Debugopt: Debugging fully optimized natively compiled programs using multistage instrumentation

Jie Yin*, Gang Tan, Hao Li, Xiaolong Bai, Yu Ping Wang, Shi Min Hu

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

2 Citations (Scopus)

Abstract

The accuracy of debugging information is crucial for source level debugging. However the debugging information may be inaccurate after sophisticated optimizations if the target program is compiled into native code. Hence, the efficiency of diagnosing software is affected due to inaccurate debugging information. To address the issue, we propose Debugopt, a framework for debugging fully optimized natively compiled programs using multistage instrumentation. At compile time, Debugopt generates unoptimized programs with accurate debugging information and optimized programs. At debugging time, Debugopt dynamically replaces the execution of optimized programs with unoptimized programs. Debugopt is implemented on multiple architectures, including x86-32, x86-64, armv7 and mips3. Debugopt's overhead is small during normal execution on a large range of benchmarks.

Original languageEnglish
Pages (from-to)18-32
Number of pages15
JournalScience of Computer Programming
Volume169
DOIs
Publication statusPublished - 1 Jan 2019
Externally publishedYes

Keywords

  • Debugging
  • Hot patching
  • Multistage instrumentation

Fingerprint

Dive into the research topics of 'Debugopt: Debugging fully optimized natively compiled programs using multistage instrumentation'. Together they form a unique fingerprint.

Cite this