Comparing Developer-Provided to User-Provided Tests for Fault Localization and Automated Program Repair

被引:20
|
作者
Just, Rene [1 ]
Parnin, Chris [2 ]
Drosos, Ian [3 ]
Ernst, Michael D. [4 ]
机构
[1] Univ Massachusetts, Amherst, MA 01003 USA
[2] NC State Univ, Raleigh, NC USA
[3] Univ Calif San Diego, San Diego, CA 92103 USA
[4] Univ Washington, Seattle, WA 98195 USA
来源
ISSTA'18: PROCEEDINGS OF THE 27TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS | 2018年
关键词
Fault localization; Automated program repair; Test effectiveness;
D O I
10.1145/3213846.3213870
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
To realistically evaluate a software testing or debugging technique, it must be run on defects and tests that are characteristic of those a developer would encounter in practice. For example, to determine the utility of a fault localization or automated program repair technique, it could be run on real defects from a bug tracking system, using real tests that are committed to the version control repository along with the fixes. Although such a methodology uses real tests, it may not use tests that are characteristic of the information a developer or tool would have in practice. The tests that a developer commits after fixing a defect may encode more information than was available to the developer when initially diagnosing the defect. This paper compares, both quantitatively and qualitatively, the developer-provided tests committed along with fixes (as found in the version control repository) versus the user-provided tests extracted from bug reports (as found in the issue tracker). It provides evidence that developer-provided tests are more targeted toward the defect and encode more information than user-provided tests. For fault localization, developer-provided tests overestimate a technique's ability to rank a defective statement in the list of the top-n most suspicious statements. For automated program repair, developer-provided tests overestimate a technique's ability to (efficiently) generate correct patches Duser-provided tests lead to fewer correct patches and increased repair time. This paper also provides suggestions for improving the design and evaluation of fault localization and automated program repair techniques.
引用
收藏
页码:287 / 297
页数:11
相关论文
共 15 条
  • [1] Improving Automated Program Repair with Retrospective Fault Localization
    Xu, Tongtong
    2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: COMPANION PROCEEDINGS (ICSE-COMPANION 2019), 2019, : 159 - 161
  • [2] Fault localization for automated program repair: effectiveness, performance, repair correctness
    Assiri, Fatmah Yousef
    Bieman, James M.
    SOFTWARE QUALITY JOURNAL, 2017, 25 (01) : 171 - 199
  • [3] Fault localization for automated program repair: effectiveness, performance, repair correctness
    Fatmah Yousef Assiri
    James M. Bieman
    Software Quality Journal, 2017, 25 : 171 - 199
  • [4] An Empirical Study on the Usage of Fault Localization in Automated Program Repair
    Yang, Deheng
    Qi, Yuhua
    Mao, Xiaoguang
    2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2017, : 504 - 508
  • [5] RESTORE: Retrospective Fault Localization Enhancing Automated Program Repair
    Xu, Tongtong
    Chen, Liushan
    Pei, Yu
    Zhang, Tian
    Pan, Minxue
    Furia, Carlo A.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2022, 48 (01) : 309 - 326
  • [6] Exception-Driven Fault Localization for Automated Program Repair
    Ginelli, Davide
    Riganelli, Oliviero
    Micucci, Daniela
    Mariani, Leonardo
    2021 IEEE 21ST INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2021), 2021, : 598 - 607
  • [7] Evaluating the usage of fault localization in automated program repair: an empirical study
    Yang, Deheng
    Qi, Yuhua
    Mao, Xiaoguang
    Lei, Yan
    FRONTIERS OF COMPUTER SCIENCE, 2021, 15 (01)
  • [8] Evaluating the usage of fault localization in automated program repair: an empirical study
    Deheng YANG
    Yuhua QI
    Xiaoguang MAO
    Yan LEI
    Frontiers of Computer Science, 2021, (01) : 36 - 50
  • [9] Evaluating the usage of fault localization in automated program repair: an empirical study
    Deheng Yang
    Yuhua Qi
    Xiaoguang Mao
    Yan Lei
    Frontiers of Computer Science, 2021, 15
  • [10] Improving the Accuracy of Spectrum-based Fault Localization for Automated Program Repair
    Kuma, Tetsushi
    Higo, Yoshiki
    Matsumoto, Shinsuke
    Kusumoto, Shinji
    2020 IEEE/ACM 28TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, ICPC, 2020, : 376 - 380