Critical slice and its application to program debugging

被引:0
|
作者
Shimomura, Takao [1 ]
机构
[1] NTT Software Lab
来源
NTT R and D | 1993年 / 42卷 / 08期
关键词
Algorithms - Computer software - Error correction - Error detection - Fault tolerant computer systems - Program diagnostics;
D O I
暂无
中图分类号
学科分类号
摘要
Existing algorithmic debugging methods which can locate faults under the guidance of a system have a number of problems. For example, they cannot be applied to imperative languages with side effects, or they can locate a faulty function but not a faulty statement, or they cannot detect faults related to missing statements. This paper presents an algorithmic critical slice-based fault-locating method for imperative languages. The paper first classifies program faults into two categories : wrong-value faults and missing-assignment faults. The critical slice with respect to a variable-value error is a set of statements such that (1) a wrong-value fault contained in any instruction in the critical slice may have caused that variable-value error, and (2) a wrong-value fault contained in any instruction outside the critical slice could definitely not have caused that variable-value error. The paper then shows that it is possible to algorithmically locate any fault, including missing statements, by dividing the critical slice at a certain point and then examining the values of the flow-data, which are the variables whose values are flowing across that division point.
引用
下载
收藏
页码:1017 / 1026
相关论文
共 50 条
  • [1] Application of redundant computation in program debugging
    Alzamil, Zakarya A.
    JOURNAL OF SYSTEMS AND SOFTWARE, 2008, 81 (11) : 2024 - 2033
  • [2] Application of program slicing in algorithmic debugging
    Kamkar, M
    INFORMATION AND SOFTWARE TECHNOLOGY, 1998, 40 (11-12) : 637 - 645
  • [3] Path optimization in programs and its application to debugging
    Lal, A
    Lim, J
    Polishchuk, M
    Liblit, B
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2006, 3924 : 246 - 263
  • [4] AUTOMATION OF PROGRAM DEBUGGING
    JACOBY, K
    LAYTON, H
    COMMUNICATIONS OF THE ACM, 1961, 4 (07) : 306 - 306
  • [5] Interactive program debugging
    Erbacher, RF
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON IMAGING SCIENCE, SYSTEMS AND TECHNOLOGY, VOLS I AND II, 2001, : 219 - 224
  • [6] Debugging DVM program
    Kryukov, V.A.
    Udovichenko, R.V.
    Programmirovanie, 2001, 27 (03): : 19 - 30
  • [7] PARALLEL PROGRAM DEBUGGING
    LEBLANC, TJ
    PROCEEDINGS : THE THIRTEENTH ANNUAL INTERNATIONAL COMPUTER SOFTWARE & APPLICATIONS CONFERENCE, 1989, : 65 - 66
  • [8] A slice monad transformer and its applications in program slicing
    Zhang, YZ
    Xu, BW
    ICECCS 2005: 10TH IEEE INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS, PROCEEDINGS, 2005, : 147 - 154
  • [9] Replay Debugging: Leveraging Record and Replay for Program Debugging
    Honarmand, Nima
    Torrellas, Josep
    2014 ACM/IEEE 41ST ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA), 2014, : 445 - 456
  • [10] Effective testing and debugging methods and its supporting system with program deltas
    Matsushita, M
    Teraguchi, M
    Inoue, K
    INTERNATIONAL SYMPOSIUM ON PRINCIPLES OF SOFTWARE EVOLUTION, PROCEEDINGS, 2000, : 282 - 289