A dynamic code coverage approach to maximize fault localization efficiency

被引:20
|
作者
Perez, Alexandre [1 ]
Abreu, Rui [1 ]
Riboira, Andre [1 ]
机构
[1] Univ Porto, Fac Engn, Dept Informat Engn, P-4100 Oporto, Portugal
关键词
Dynamic coverage; Software diagnosis; Spectrum-based fault localization; MODEL;
D O I
10.1016/j.jss.2013.12.036
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Spectrum-based fault localization is amongst the most effective techniques for automatic fault localization. However, abstractions of program execution traces, one of the required inputs for this technique, require instrumentation of the software under test at a statement level of granularity in order to compute a list of potential faulty statements. This introduces a considerable overhead in the fault localization process, which can even become prohibitive in, e.g., resource constrained environments. To counter this problem, we propose a new approach, coined dynamic code coverage (DCC), aimed at reducing this instrumentation overhead. This technique, by means of using coarser instrumentation, starts by analyzing coverage traces for large components of the system under test. It then progressively increases the instrumentation detail for faulty components, until the statement level of detail is reached. To assess the validity of our proposed approach, an empirical evaluation was performed, injecting faults in six real-world software projects. The empirical evaluation demonstrates that the dynamic code coverage approach reduces the execution overhead that exists in spectrum-based fault localization, and even presents,a more concise potential fault ranking to the user. We have observed execution time reductions of 27% on average and diagnostic report size reductions of 77% on average. (C) 2014 Elsevier Inc. All rights reserved.
引用
收藏
页码:18 / 28
页数:11
相关论文
共 50 条
  • [1] Effective fault localization using code coverage
    Wong, W. Eric
    Qi, Yu
    Zhao, Lei
    Cai, Kai-Yuan
    COMPSAC 2007: THE THIRTY-FIRST ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE, VOL I, PROCEEDINGS, 2007, : 449 - +
  • [2] Fault Localization with Code Coverage Representation Learning
    Li, Yi
    Wang, Shaohua
    Nguyen, Tien N.
    2021 IEEE/ACM 43RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2021), 2021, : 661 - 673
  • [3] A family of code coverage-based heuristics for effective fault localization
    Wong, W. Eric
    Debroy, Vidroha
    Choi, Byoungju
    JOURNAL OF SYSTEMS AND SOFTWARE, 2010, 83 (02) : 188 - 208
  • [4] A Random and Coverage-based Approach for Fault Localization Prioritization
    Zhang, Xiao-Yi
    Towey, Dave
    Chen, Tsong Yueh
    Zheng, Zheng
    Cai, Kai-Yuan
    PROCEEDINGS OF THE 28TH CHINESE CONTROL AND DECISION CONFERENCE (2016 CCDC), 2016, : 3354 - 3361
  • [5] Constraint handling for the fault coverage code generation problem: An inductive evolutionary approach
    Bilchev, George
    Parmee, Ian
    Lecture Notes in Computer Science, 1141
  • [6] On the Reliability of Coverage Data for Fault Localization
    Xie, Huan
    Li, Maojin
    Lei, Yan
    Hu, Jian
    Li, Shanshan
    Mao, Xiaoguang
    Yu, Yue
    PROCEEDINGS OF THE 2023 30TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, APSEC 2023, 2023, : 61 - 70
  • [7] STRUCTURAL APPROACH TO COMPLEX DYNAMIC OBJECT FAULT DETECTION AND LOCALIZATION
    Poshekhonov, L. B.
    Shestopalov, M. U.
    JOURNAL OF MINING INSTITUTE, 2012, 197 : 279 - 285
  • [8] Detraque: Dynamic execution tracing techniques for automatic fault localization of hardware design code
    Wu, Jiang
    Zhang, Zhuo
    Xu, Jianjun
    He, Jiayu
    Mao, Xiaoguang
    Meng, Xiankai
    Li, Panpan
    PLOS ONE, 2022, 17 (09):
  • [9] The Impact of Fault Type on the Relationship Between Code Coverage and Fault Detection
    Schwartz, Amanda
    Hetzel, Michael
    2016 IEEE/ACM 11TH INTERNATIONAL WORKSHOP IN AUTOMATION OF SOFTWARE TEST (AST), 2016, : 29 - 35
  • [10] Adding Context to Fault Localization with Integration Coverage
    de Souza, Higor Amario
    Chaim, Marcos Lordello
    2013 28TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2013, : 628 - 633