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 条
  • [41] Array resizing for scientific code debugging, maintenance and reuse
    Ancourt, C
    Nguyen, TVN
    ACM SIGPLAN NOTICES, 2001, : 32 - 37
  • [42] Software Profiling for Deterministic Replay Debugging of User Code
    Narayanasamy, Satish
    Pereira, Cristiano
    Calder, Brad
    NEW TRENDS IN SOFTWARE METHODOLOGIES, TOOLS AND TECHNIQUES, 2006, 147 : 211 - 230
  • [43] DEBUGGING TOOL FOR MOBILE NUMERICAL CODE LEARNING SYSTEM
    Kim, Sang-Bae
    JOURNAL OF APPLIED MATHEMATICS & INFORMATICS, 2020, 38 (3-4): : 255 - 260
  • [44] Dynamic Analysis and Debugging of Binary Code for Security Applications
    Li, Lixin
    Wang, Chao
    RUNTIME VERIFICATION, RV 2013, 2013, 8174 : 403 - 423
  • [45] Relative debugging: A new methodology for debugging scientific applications
    Abramson, D
    Foster, I
    Michalakes, J
    Sosic, R
    COMMUNICATIONS OF THE ACM, 1996, 39 (11) : 69 - 77
  • [46] Debugging Statecharts Via Model-Code Traceability
    Guo, Liang
    Roychoudhury, Abhik
    LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION AND VALIDATION, PROCEEDINGS, 2008, 17 : 292 - 306
  • [47] A quantitative approach to functional debugging
    Kirovski, D
    Potkonjak, M
    1997 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER-AIDED DESIGN - DIGEST OF TECHNICAL PAPERS, 1997, : 170 - 173
  • [48] Approach to behavior scenarios debugging
    Drobintsev P.
    Kotlyarov V.
    Nikiforov I.
    Letichevsky A.
    Peschanenko V.
    Automatic Control and Computer Sciences, 2015, 49 (07) : 430 - 436
  • [49] BASIC DEBUGGING - A STRUCTURED APPROACH
    GATES, R
    CREATIVE COMPUTING, 1983, 9 (12): : 169 - &
  • [50] A new Morse code scheme optimized according to the statistical properties of Turkish
    Cicek, Emrah
    Yilmaz, Asim Egemen
    TURKISH JOURNAL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCES, 2013, 21 (03) : 804 - 811