TY - JOUR
T1 - Debugopt
T2 - Debugging fully optimized natively compiled programs using multistage instrumentation
AU - Yin, Jie
AU - Tan, Gang
AU - Li, Hao
AU - Bai, Xiaolong
AU - Wang, Yu Ping
AU - Hu, Shi Min
N1 - Publisher Copyright:
© 2018
PY - 2019/1/1
Y1 - 2019/1/1
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=85054861645&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85054861645&partnerID=8YFLogxK
U2 - 10.1016/j.scico.2018.09.005
DO - 10.1016/j.scico.2018.09.005
M3 - Article
AN - SCOPUS:85054861645
SN - 0167-6423
VL - 169
SP - 18
EP - 32
JO - Science of Computer Programming
JF - Science of Computer Programming
ER -