Is the Ground Truth Really Accurate? Dataset Purification for Automated Program Repair

被引:7
|
作者
Yang, Deheng [1 ]
Lei, Yan [2 ]
Mao, Xiaoguang [1 ]
Lo, David [3 ]
Xie, Huan [2 ]
Yan, Meng [2 ]
机构
[1] Natl Univ Def Technol, Changsha, Peoples R China
[2] Chongqing Univ, Chongqing, Peoples R China
[3] Singapore Management Univ, Singapore, Singapore
来源
2021 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2021) | 2021年
基金
国家重点研发计划; 中国国家自然科学基金;
关键词
bug dataset; automated program repair; dataset purification; CODE; GENERATION;
D O I
10.1109/SANER50967.2021.00018
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Datasets of real-world bugs shipped with human-written patches are intensively used in the evaluation of existing automated program repair (APR) techniques, wherein the human-written patches always serve as the ground truth, for manual or automated assessment approaches, to evaluate the correctness of test-suite adequate patches. An inaccurate human-written patch tangled with other code changes will pose threats to the reliability of the assessment results. Therefore, the construction of such datasets always requires much manual effort on isolating real bug fixes from bug fixing commits. However, the manual work is time-consuming and prone to mistakes, and little has been known on whether the ground truth in such datasets is really accurate. In this paper, we propose DEPTEST, an automated DatasEt Purification technique from the perspective of triggering Tests. Leveraging coverage analysis and delta debugging, DEPTEST can automatically identify and filter out the code changes irrelevant to the bug exposed by triggering tests. To measure the strength of DEPTEST, we run it on the most extensively used dataset (i.e., Defects4J) that claims to already exclude all irrelevant code changes for each bug fix via manual purification. Our experiment indicates that even in a dataset where the bug fix is claimed to be well isolated, 41.01% of human-written patches can be further reduced by 4.3 lines on average, with the largest reduction reaching up to 53 lines. This indicates its great potential in assisting in the construction of datasets of accurate bug fixes. Furthermore, based on the purified patches, we re-dissect Defects4J and systematically revisit the APR of multi-chunk bugs to provide insights for future research targeting such bugs.
引用
收藏
页码:96 / 107
页数:12
相关论文
共 50 条
  • [21] Fault localization for automated program repair: effectiveness, performance, repair correctness
    Assiri, Fatmah Yousef
    Bieman, James M.
    SOFTWARE QUALITY JOURNAL, 2017, 25 (01) : 171 - 199
  • [22] Fault localization for automated program repair: effectiveness, performance, repair correctness
    Fatmah Yousef Assiri
    James M. Bieman
    Software Quality Journal, 2017, 25 : 171 - 199
  • [23] Do automated program repair techniques repair hard and important bugs?
    Manish Motwani
    Sandhya Sankaranarayanan
    René Just
    Yuriy Brun
    Empirical Software Engineering, 2018, 23 : 2901 - 2947
  • [24] Do automated program repair techniques repair hard and important bugs?
    Motwani, Manish
    Sankaranarayanan, Sandhya
    Just, Rene
    Brun, Yuriy
    EMPIRICAL SOFTWARE ENGINEERING, 2018, 23 (05) : 2901 - 2947
  • [25] DEAR: A Novel Deep Learning-based Approach for Automated Program Repair
    Li, Yi
    Wang, Shaohua
    Nguyen, Tien N.
    2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2022), 2022, : 511 - 523
  • [26] Impact Analysis of Syntactic and Semantic Similarities on Patch Prioritization in Automated Program Repair
    Asad, Moumita
    Ganguly, Kishan Kumar
    Sakib, Kazi
    2019 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2019), 2019, : 328 - 332
  • [27] Reliable Fix Patterns Inferred from Static Checkers for Automated Program Repair
    Liu, Kui
    Zhang, Jingtang
    Li, Li
    Koyuncu, Anil
    Kim, Dongsun
    Ge, Chunpeng
    Liu, Zhe
    Klein, Jacques
    Bissyande, Tegawende F.
    ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2023, 32 (04)
  • [28] 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
  • [29] A critical review on the evaluation of automated program repair systems
    Liu, Kui
    Li, Li
    Koyuncu, Anil
    Kim, Dongsun
    Liu, Zhe
    Klein, Jacques
    Bissyande, Tegawende F.
    JOURNAL OF SYSTEMS AND SOFTWARE, 2021, 171
  • [30] Automated Clustering and Program Repair for Introductory Programming Assignments
    Gulwani, Sumit
    Radicek, Ivan
    Zuleger, Florian
    ACM SIGPLAN NOTICES, 2018, 53 (04) : 465 - 480