A NEW APPROACH TO DEBUGGING OPTIMIZED CODE

被引:0
|
作者
BROOKS, G [1 ]
HANSEN, GJ [1 ]
SIMMONS, S [1 ]
机构
[1] CONVEX COMP CORP,RICHARDSON,TX 75083
来源
SIGPLAN NOTICES | 1992年 / 27卷 / 07期
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Debugging optimized code is a desirable capability not provided by most current debuggers. Users are forced to debug the unoptimized code when a bug occurs in the optimized version. Current research offers partial solutions for a small class of optimizations, but not a unified approach that handles a wide range of optimizations, such as the sophisticated optimizations performed by supercomputer compilers. The trend with current research is to make the effects of optimization transparent, i.e., provide the same behavior as that of the unoptimized program. We contend that this approach is neither totally feasible nor entirely desirable. Instead, we propose a new approach based on the premise that one should be able to debug the optimized code. This implies mapping the current state of execution back to the original source, tracking the location of variables, and mapping compiler-synthesized variables back to user-defined induction variables. To aid the user in understanding program behavior, various visual means are provided, e.g., different forms of highlighting and annotating of the source/assembly code. While this unavoidably requires the user to have a basic understanding of the optimizations performed, it permits the user to see what is actually happening, infer the optimizations performed, and detect bugs. An example illustrates the effectiveness of visual feedback. To support conventional debugger functionality for optimized code, the compiler must generate additional information. Current compiler-debugger interfaces (CDIs) were neither designed to handle this new information nor are they extensible in a straight forward manner. Therefore, a new CDI was designed that supports providing visual feedback and the debugging of optimized code. This paper specifies the details of a new CDI and relates each feature back to the debugger functionality it supports.
引用
收藏
页码:1 / 11
页数:11
相关论文
共 50 条
  • [31] Disqover: Debugging via Code Sequence Covers
    Elsaka, Ethar
    Memon, Atif
    2015 IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSREW), 2015, : 85 - 92
  • [32] BugSpotter: Automated Generation of Code Debugging Exercises
    Padurean, Victor-Alexandru
    Denny, Paul
    Singla, Adish
    PROCEEDINGS OF THE 56TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, SIGCSE TS 2025, VOL 2, 2025, : 896 - 902
  • [33] BugSpotter: Automated Generation of Code Debugging Exercises
    Padurean, Victor-Alexandru
    Denny, Paul
    Singla, Adish
    PROCEEDINGS OF THE 56TH ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, SIGCSE TS 2025, VOL 1, 2025, : 896 - 902
  • [34] Distributed source code debugging for embedded systems
    Parson, D
    Herrera-Bendezu, L
    Vollmer, J
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-V, 2000, : 2409 - 2415
  • [35] SOURCE LEVEL DEBUGGING OF AUTOMATICALLY PARALLELIZED CODE
    COHN, R
    SIGPLAN NOTICES, 1991, 26 (12): : 132 - 143
  • [36] Visualizing debugging activity in source code repositories
    Voinea, Lucian
    Telea, Alexandru
    4TH IEEE INTERNATIONAL WORKSHOP ON VISUALIZING SOFTWARE FOR UNDERSTANDING AND ANALYSIS, PROCEEDINGS, 2007, : 156 - +
  • [37] FUNDAMENTAL APPROACH TO DEBUGGING
    TRATNER, M
    SOFTWARE-PRACTICE & EXPERIENCE, 1979, 9 (02): : 97 - 99
  • [38] A New Approach to Optimized Negative Selection
    Schmidt, Brian
    Al-Fuqaha, Ala
    2016 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION (CEC), 2016, : 1793 - 1799
  • [39] Visual Debugging Technology with Pencil Code: Position Paper
    Boss, Amanda
    Stenson, Cali
    Ruten, Jeremy
    2015 IEEE BLOCKS AND BEYOND WORKSHOP (BLOCKS AND BEYOND), 2015, : 115 - 117
  • [40] SimXMD: Integrated debugging of C code and hardware components
    Willenberg, Ruediger
    Chow, Paul
    2012 INTERNATIONAL CONFERENCE ON FIELD-PROGRAMMABLE TECHNOLOGY (FPT'12), 2012, : 309 - 312