English
Related papers

Related papers: Human-competitive Patches in Automatic Program Rep…

200 papers

Implementing bug-free concurrent programs is a challenging task in modern software development. State-of-the-art static analyses find hundreds of concurrency bugs in production code, scaling to large codebases. Yet, fixing these bugs in…

Software Engineering · Computer Science 2021-08-09 Andreea Costea , Abhishek Tiwari , Sigmund Chianasta , Kishore R , Abhik Roychoudhury , Ilya Sergey

Machine learning-based program analyses have recently shown the promise of integrating formal and probabilistic reasoning towards aiding software development. However, in the absence of large annotated corpora, training these analyses is…

Machine Learning · Computer Science 2021-11-17 Miltiadis Allamanis , Henry Jackson-Flux , Marc Brockschmidt

Automated Program Repair (APR) has garnered significant attention due to its potential to streamline the bug repair process for human developers. Recently, LLM-based APR methods have shown promise in repairing real-world bugs. However,…

Software Engineering · Computer Science 2024-06-05 Fengjie Li , Jiajun Jiang , Jiajun Sun , Hongyu Zhang

Patching severe security flaws in complex software remains a major challenge. While automated tools like fuzzers efficiently discover bugs, fixing deep-rooted low-level faults (e.g., use-after-free and memory corruption) still requires…

Software Engineering · Computer Science 2026-04-07 Maolin Sun , Yibiao Yang , Xuanlin Liu , Yuming Zhou , Baowen Xu

Research on automatic software repair is concerned with the development of systems that automatically detect and repair bugs. One well-known class of bugs is the infinite loop. Every computer programmer or user has, at least once,…

Software Engineering · Computer Science 2015-04-21 Sebastian R. Lamelas Marcote , Martin Monperrus

Automated program repair (APR) aims to fix software bugs automatically and plays a crucial role in software development and maintenance. With the recent advances in deep learning (DL), an increasing number of APR techniques have been…

Software Engineering · Computer Science 2023-11-02 Quanjun Zhang , Chunrong Fang , Yuxiang Ma , Weisong Sun , Zhenyu Chen

We propose, BanditRepair, a system that systematically explores and assesses a set of possible runtime patches. The system is grounded on so-called bandit algorithms, that are online machine learning algorithms, designed for constantly…

Software Engineering · Computer Science 2016-03-25 Thomas Durieux , Youssef Hamadi , Martin Monperrus

Automated Program Repair (APR) can help developers automatically generate patches for bugs. Due to the impressive performance obtained using Large Pre-Trained Language Models (LLMs) on many code related tasks, researchers have started to…

Software Engineering · Computer Science 2023-02-01 Chunqiu Steven Xia , Lingming Zhang

Software bugs claim approximately 50% of development time and cost the global economy billions of dollars. Once a bug is reported, the assigned developer attempts to identify and understand the source code responsible for the bug and then…

Software Engineering · Computer Science 2025-01-29 Parvez Mahbub , Ohiduzzaman Shuvo , Mohammad Masudur Rahman

Millions of open-source projects with numerous bug fixes are available in code repositories. This proliferation of software development histories can be leveraged to learn how to fix common programming bugs. To explore such a potential, we…

Software Engineering · Computer Science 2019-05-22 Michele Tufano , Cody Watson , Gabriele Bavota , Massimiliano Di Penta , Martin White , Denys Poshyvanyk

In recent years, Automated Program Repair (APR) has been extensively studied in academia and even drawn wide attention from industry. However, APR techniques can be extremely time consuming since (1) a large number of patches can be…

Software Engineering · Computer Science 2024-07-03 Yiling Lou , Jun Yang , Samuel Benton , Dan Hao , Lin Tan , Zhenpeng Chen , Lu Zhang , Lingming Zhang

Software bugs cost the global economy billions of dollars each year and take up ~50% of the development time. Once a bug is reported, the assigned developer attempts to identify and understand the source code responsible for the bug and…

Software Engineering · Computer Science 2023-08-24 Parvez Mahbub , Mohammad Masudur Rahman , Ohiduzzaman Shuvo , Avinash Gopal

We introduce Learn2fix, the first human-in-the-loop, semi-automatic repair technique when no bug oracle--except for the user who is reporting the bug--is available. Our approach negotiates with the user the condition under which the bug is…

Software Engineering · Computer Science 2019-12-18 Marcel Böhme , Charaka Geethal , Van-Thuan Pham

The advance in machine learning (ML)-driven natural language process (NLP) points a promising direction for automatic bug fixing for software programs, as fixing a buggy program can be transformed to a translation task. While software…

Software Engineering · Computer Science 2021-07-20 Wenshuo Wang , Chen Wu , Liang Cheng , Yang Zhang

Automated program repair (APR) tools have unlocked the potential for the rapid rectification of codebase issues. However, to encourage wider adoption of program repair in practice, it is necessary to address the usability concerns related…

Software Engineering · Computer Science 2023-11-20 David Williams , James Callan , Serkan Kirbas , Sergey Mechtaev , Justyna Petke , Thomas Prideaux-Ghee , Federica Sarro

In the context of test case based automated program repair (APR), the research community call the patches that pass all the test cases but fail to actually fix the bug test case overfitted patches. Currently, overfitted patches has to be…

Software Engineering · Computer Science 2020-07-27 Ali Ghanbari

Software debugging, and program repair are among the most time-consuming and labor-intensive tasks in software engineering that would benefit a lot from automation. In this paper, we propose a novel automated program repair approach based…

Software Engineering · Computer Science 2021-04-01 Ehsan Mashhadi , Hadi Hemmati

Artificial Intelligence has gained a lot of traction in the recent years, with machine learning notably starting to see more applications across a varied range of fields. One specific machine learning application that is of interest to us…

Software Engineering · Computer Science 2023-05-10 Teodor Rares Begu

Automatic program synthesis is a long-lasting dream in software engineering. Recently, a promising Deep Learning (DL) based solution, called Copilot, has been proposed by OpenAI and Microsoft as an industrial product. Although some studies…

Software Engineering · Computer Science 2023-04-18 Arghavan Moradi Dakhel , Vahid Majdinasab , Amin Nikanjam , Foutse Khomh , Michel C. Desmarais , Zhen Ming , Jiang

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