DEBUGGING OPTIMIZED CODE WITHOUT BEING MISLED

被引:15
|
作者
COPPERMAN, M
机构
[1] Univ. of California, Santa Cruz
关键词
PERFORMANCE; VERIFICATION;
D O I
10.1145/177492.177517
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Correct optimization can change the behavior of an incorrect program; therefore at times it is necessary to debug optimized code. However, optimizing compilers produce code that impedes source-level debugging. Optimization can cause an inconsistency between where the user expects a breakpoint to be located and the breakpoint's actual location. This article describes a mapping between statements and breakpoint locations that ameliorates this problem. The mapping enables debugger behavior on optimized code that approximates debugger behavior on unoptimized code sufficiently closely for the user to use traditional debugging strategies. Optimization can also cause the value of a variable to be noncurrent-to differ from the value that would be predicted by a close reading of the source code. This article presents a method of determining when this has occurred, and shows how a debugger can describe the relevant effects of optimization. The determination method is more general than previously published methods; it handles global optimization and many flow graph transformations, and it is not tightly coupled to optimizations performed by a particular compiler. Necessary compiler support is also described.
引用
收藏
页码:387 / 427
页数:41
相关论文
共 50 条
  • [21] PUBLIC BEING MISLED OVER ASBESTOS DANGERS
    JOYCE, C
    NEW SCIENTIST, 1990, 126 (1712) : 16 - 16
  • [22] CODE: DEBUGGING THE GENDER GAP
    Cass, Stephen
    IEEE SPECTRUM, 2015, 52 (07) : 25 - 25
  • [23] Taxing Facebook Code: Debugging the Tax Code and Software
    Xuan-Thao Nguyen
    Maine, Jeffrey A.
    BUFFALO LAW REVIEW, 2012, 60 (01): : 1 - 68
  • [24] Debugging Without Testing
    Ghardallou, Wided
    Diallo, Nafi
    Mili, Ali
    Frias, Marcelo F.
    2016 9TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2016, : 113 - 123
  • [25] DEBUGGING PARALLELIZED CODE USING CODE LIBERATION TECHNIQUES
    PINEO, PP
    SOFFA, ML
    SIGPLAN NOTICES, 1991, 26 (12): : 108 - 119
  • [26] GALLSTONE DISSOLUTION AND RECURRENCE - ARE WE BEING MISLED - REPLY
    WRIGHT, FW
    BRITISH MEDICAL JOURNAL, 1982, 285 (6335): : 132 - 132
  • [27] ERADICATION OF CAMPYLOBACTER-PYLORI - ARE WE BEING MISLED
    WEIL, J
    BELL, GD
    JONES, PH
    GANT, P
    TROWELL, JE
    HARRISON, G
    LANCET, 1988, 2 (8622): : 1245 - 1245
  • [28] From video games to debugging code
    Department of Computer Science, University of Illinois at Chicago, Chicago
    IL
    60607, United States
    Proc Int Conf Software Eng, 1600, (37-41):
  • [29] Facilitating Unreachable Code Diagnosis and Debugging
    Chou, Hong-Zu
    Chang, Kai-Hui
    Kuo, Sy-Yen
    2011 16TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE (ASP-DAC), 2011,
  • [30] From video games to debugging code
    Deitz, Sean
    Buy, Ugo
    2016 IEEE/ACM 5TH INTERNATIONAL WORKSHOP ON GAMES AND SOFTWARE ENGINEERING (GAS), 2016, : 37 - 41