English
Related papers

Related papers: Identifying Patch Correctness in Test-Based Progra…

200 papers

Automated Program Repair (APR) can reduce the time developers spend debugging, allowing them to focus on other aspects of software development. Automatically generated bug patches are typically validated through software testing. However,…

Software Engineering · Computer Science 2026-03-13 David Williams , Ioakim Avraam , Aldeida Aleti , Matias Martinez , Justyna Petke , Federica Sarro

Defects4J is a large, peer-reviewed, structured dataset of real-world Java bugs. Each bug in Defects4J comes with a test suite and at least one failing test case that triggers the bug. In this paper, we report on an experiment to explore…

Software Engineering · Computer Science 2021-11-12 Matias Martinez , Thomas Durieux , Romain Sommerard , Jifeng Xuan , Martin Monperrus

We present a study that characterizes the way developers use automatically generated patches when fixing software defects. Our study tasked two groups of developers with repairing defects in C programs. Both groups were provided with the…

Software Engineering · Computer Science 2019-11-26 José Pablo Cambronero , Jiasi Shen , Jürgen Cito , Elena Glassman , Martin Rinard

Automatic program repair papers tend to repeatedly use the same benchmarks. This poses a threat to the external validity of the findings of the program repair research community. In this paper, we perform an empirical study of automatic…

Software Engineering · Computer Science 2020-09-29 He Ye , Matias Martinez , Thomas Durieux , Martin Monperrus

Automated Program Repair (APR) techniques typically rely on a given test-suite to guide the repair process. Apart from the need to provide test oracles, this makes the produced patches prone to test data over-fitting. In this work, instead…

Software Engineering · Computer Science 2023-08-02 Yuntong Zhang , Andreea Costea , Ridwan Shariffdeen , Davin McCall , Abhik Roychoudhury

Towards predicting patch correctness in APR, we propose a simple, but novel hypothesis on how the link between the patch behaviour and failing test specifications can be drawn: similar failing test cases should require similar patches. We…

Software Engineering · Computer Science 2022-03-17 Haoye Tian , Yinghua Li , Weiguo Pian , Abdoul Kader Kaboré , Kui Liu , Andrew Habib , Jacques Klein , Tegawendé F. Bissyande

Automated program repair is an emerging technology which consists of a suite of techniques to automatically fix bugs or vulnerabilities in programs. In this paper, we present a comprehensive survey of the state of the art in program repair.…

Software Engineering · Computer Science 2022-11-24 Xiang Gao , Yannic Noller , Abhik Roychoudhury

Bug fixing is generally a manually-intensive task. However, recent work has proposed the idea of automated program repair, which aims to repair (at least a subset of) bugs in different ways such as code mutation, etc. Following in the same…

Software Engineering · Computer Science 2019-07-05 Hideaki Hata , Emad Shihab , Graham Neubig

A long-standing open challenge for automated program repair is the overfitting problem, which is caused by having insufficient or incomplete specifications to validate whether a generated patch is correct or not. Most available repair…

Software Engineering · Computer Science 2021-11-11 Omar I. Al-Bataineh , Anastasiia Grishina , Leon Moonen

In this work, we propose a novel perspective to the problem of patch correctness assessment: a correct patch implements changes that "answer" to a problem posed by buggy behaviour. Concretely, we turn the patch correctness assessment into a…

Software Engineering · Computer Science 2022-09-02 Haoye Tian , Xunzhu Tang , Andrew Habib , Shangwen Wang , Kui Liu , Xin Xia , Jacques Klein , Tegawendé F. Bissyandé

Research in automatic program repair has shown that real bugs can be automatically fixed. However, there are several challenges involved in such a task that are not yet fully addressed. As an example, consider that a test-suite-based repair…

Software Engineering · Computer Science 2021-04-07 Fernanda Madeiral , Thomas Durieux

Defects4J is a large, peer-reviewed, structured dataset of real-world Java bugs. Each bug in Defects4J is provided with a test suite and at least one failing test case that triggers the bug. In this paper, we report on an experiment to…

Software Engineering · Computer Science 2015-12-24 Matias Martinez , Thomas Durieux , Jifeng Xuan , Romain Sommerard , Martin Monperrus

Automated program repair (APR) attempts to generate correct patches and has drawn wide attention from both academia and industry in the past decades. However, APR is continuously struggling with the patch overfitting issue due to the weak…

Software Engineering · Computer Science 2026-04-07 Quanjun Zhang , Haichuan Hu , Chunrong Fang , Ye Shang , Tao Zheng , Zhenyu Chen , Yun Yang , Liang Xiao

Various automated program repair (APR) techniques have been proposed to fix bugs automatically in the last decade. Although recent researches have made significant progress on the effectiveness and efficiency, it is still unclear how APR…

Software Engineering · Computer Science 2022-03-11 Quanjun Zhang , Yuan Zhao , Weisong Sun , Chunrong Fang , Ziyuan Wang , Lingming Zhang

Automated program repair (APR) techniques are effective in fixing inevitable defects in software, enhancing development efficiency and software robustness. However, due to the difficulty of generating precise specifications, existing APR…

Software Engineering · Computer Science 2025-10-17 Xu He , Shu Wang , Kun Sun

Software is used in critical applications in our day-to-day life and it is important to ensure its correctness. One popular approach to assess correctness is to evaluate software on tests. If a test fails, it indicates a fault in the…

Software Engineering · Computer Science 2025-04-01 Max Hort , Leon Moonen

Background: Testing and validation of the semantic correctness of patches provided by tools for Automated Program Repairs (APR) has received a lot of attention. Yet, the eventual acceptance or rejection of suggested patches for real world…

Software Engineering · Computer Science 2022-09-19 Aurora Papotti , Ranindya Paramitha , Fabio Massacci

Automated Program Repair (APR) holds the promise of alleviating the burden of debugging and fixing software bugs. Despite this, developers still need to manually inspect each patch to confirm its correctness, which is tedious and…

Software Engineering · Computer Science 2025-03-04 Ruixin Wang , Zhongkai Zhao , Le Fang , Nan Jiang , Yiling Lou , Lin Tan , Tianyi Zhang

Learning-based program repair has achieved good results in a recent series of papers. Yet, we observe that the related work fails to repair some bugs because of a lack of knowledge about 1) the application domain of the program being…

Software Engineering · Computer Science 2023-04-20 He Ye , Matias Martinez , Xiapu Luo , Tao Zhang , Martin Monperrus

Automatic program repair (APR) aims to reduce the cost of manually fixing software defects. However, APR suffers from generating a multitude of overfitting patches, those patches that fail to correctly repair the defect beyond making the…

Software Engineering · Computer Science 2021-08-09 He Ye , Jian Gu , Matias Martinez , Thomas Durieux , Martin Monperrus