English
Related papers

Related papers: TBar: Revisiting Template-based Automated Program …

200 papers

Much research on software engineering and software testing relies on experimental studies based on fault injection. Fault injection, however, is not often relevant to emulate real-world software faults since it "blindly" injects large…

Software Engineering · Computer Science 2022-08-15 Ahmed Khanfir , Anil Koyuncu , Mike Papadakis , Maxime Cordy , Tegawendé F. Bissyandé , Jacques Klein , Yves Le Traon

Fault localization, aiming at localizing the root cause of the bug under repair, has been a longstanding research topic. Although many approaches have been proposed in the last decades, most of the existing studies work at coarse-grained…

Software Engineering · Computer Science 2022-11-22 Jiajun Jiang , Yumeng Wang , Junjie Chen , Delin Lv , Mengjiao Liu

In this paper, we do automatic correctness assessment for patches generated by program repair systems. We consider the human-written patch as ground truth oracle and randomly generate tests based on it, a technique proposed by Shamshiri et…

Software Engineering · Computer Science 2021-05-10 He Ye , Matias Martinez , Martin Monperrus

Hot fixes are urgent, unplanned changes deployed to production systems to address time-critical issues. Despite their importance, no existing evaluation benchmark focuses specifically on hot fixes. We present HotBugs$.$jar, the first…

Software Engineering · Computer Science 2025-10-10 Carol Hanna , Federica Sarro , Mark Harman , Justyna Petke

Test-based automatic program repair has attracted a lot of attention in recent years. However, the test suites in practice are often too weak to guarantee correctness and existing approaches often generate a large number of incorrect…

Software Engineering · Computer Science 2018-07-30 Yingfei Xiong , Xinyuan Liu , Muhan Zeng , Lu Zhang , Gang Huang

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

Context: Learning-based automatic program repair techniques are showing promise to provide quality fix suggestions for detected bugs in the source code of the software. These tools mostly exploit historical data of buggy and fixed code…

Software Engineering · Computer Science 2020-10-07 Faria Huq , Masum Hasan , Mahim Anzum Haque Pantho , Sazan Mahbub , Anindya Iqbal , Toufique Ahmed

Though many approaches have been proposed for Automated Program Repair (APR) and indeed achieved remarkable performance, they still have limitations in fixing bugs that require analyzing and reasoning about the logic of the buggy program.…

Software Engineering · Computer Science 2024-07-31 Xin Yin , Chao Ni , Shaohua Wang , Zhenhao Li , Limin Zeng , Xiaohu Yang

Automatic Program Repair (APR) techniques can promisingly help reducing the cost of debugging. Many relevant APR techniques follow the generate-and-validate approach, that is, the faulty program is iteratively modified with different change…

Software Engineering · Computer Science 2022-05-06 Davide Ginelli , Matias Martinez , Leonardo Mariani , Martin Monperrus

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

Assessing the correctness of patches generated by Automated Program Repair (APR) is a major bottleneck. Manual validation is labor-intensive and limited: exact matching overlooks valid variants, while semantic inspection is subjective and…

Software Engineering · Computer Science 2026-03-03 Sahand Moslemi , Mayasah Lami , Anil Koyuncu

Bug Reproduction Tests (BRTs) have been used in many Automated Program Repair (APR) systems, primarily for validating promising fixes and aiding fix generation. In practice, when developers submit a patch, they often implement the BRT…

Software Engineering · Computer Science 2026-04-01 Runxiang Cheng , Michele Tufano , José Cambronero , Renyao Wei , Sherry Shi , Grant Uy , Pat Rondon , Franjo Ivančić

Automated Program Repair (APR) techniques aim to automatically fix buggy programs. Among these, Large Language Model-based (LLM-based) approaches have shown great promise. Recent advances demonstrate that directly leveraging LLMs can…

Software Engineering · Computer Science 2025-07-01 Jiayi Zhang , Kai Huang , Jian Zhang , Yang Liu , Chunyang Chen

Automated Program Repair (APR) techniques typically exploit spectrum-based fault localization (SBFL) to identify the program locations that should be patched, making the effectiveness of APR techniques dependent on the effectiveness of…

Software Engineering · Computer Science 2022-01-04 Davide Ginelli , Oliviero Riganelli , Daniela Micucci , Leonardo Mariani

Fuzz testing (fuzzing) is a well-known method for exposing bugs/vulnerabilities in software systems. Popular fuzzers, such as AFL, use a biased random search over the domain of program inputs, where 100s or 1000s of inputs (test cases) are…

Software Engineering · Computer Science 2023-08-02 Yuntong Zhang , Ridwan Shariffdeen , Gregory J. Duck , Jiaqi Tan , Abhik Roychoudhury

Automatic Program Repair (APR) aims at fixing buggy source code with less manual debugging efforts, which plays a vital role in improving software reliability and development productivity. Recent APR works have achieved remarkable progress…

Software Engineering · Computer Science 2022-12-06 Wei Yuan , Quanjun Zhang , Tieke He , Chunrong Fang , Nguyen Quoc Viet Hung , Xiaodong Hao , Hongzhi Yin

Well-designed and publicly available datasets of bugs are an invaluable asset to advance research fields such as fault localization and program repair as they allow directly and fairly comparison between competing techniques and also the…

Software Engineering · Computer Science 2021-11-12 Victor Sobreira , Thomas Durieux , Fernanda Madeiral , Martin Monperrus , Marcelo A. Maia

This paper is about understanding the nature of bug fixing by analyzing thousands of bug fix transactions of software repositories. It then places this learned knowledge in the context of automated program repair. We give extensive…

Software Engineering · Computer Science 2018-07-06 Matias Martinez , Martin Monperrus

Benchmarks play an important role in evaluating the efficiency and effectiveness of solutions to automate several phases of the software development lifecycle. Moreover, if well designed, they also serve us well as an important artifact to…

Software Engineering · Computer Science 2019-05-24 Thomas Durieux , Rui Abreu

During last years, researches have proposed novel repair approaches that automatically generate patches for repairing software bugs. Repair approaches can be loosely characterized along the main design philosophy such generate- and-validate…

Software Engineering · Computer Science 2019-02-13 Matias Martinez , Martin Monperrus