English
Related papers

Related papers: Getafix: Learning to Fix Bugs Automatically

200 papers

Static bug finders have been widely-adopted by developers to find bugs in real world software projects. They leverage predefined heuristic static analysis rules to scan source code or binary code of a software project, and report violations…

Software Engineering · Computer Science 2021-12-24 Junjie Wang , Yuchao Huang , Song Wang , Qing Wang

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

We propose a method combining machine learning with a static analysis tool (i.e. Infer) to automatically repair source code. Machine Learning methods perform well for producing idiomatic source code. However, their output is sometimes…

Software Engineering · Computer Science 2023-04-24 Ruba Mutasim , Gabriel Synnaeve , David Pichardie , Baptiste Rozière

Fix pattern-based patch generation is a promising direction in Automated Program Repair (APR). Notably, it has been demonstrated to produce more acceptable and correct patches than the patches obtained with mutation operators through…

Software Engineering · Computer Science 2019-02-18 Kui Liu , Anil Koyuncu , Dongsun Kim , Tegawendé F. Bisyandé

Automated program repair (APR) techniques have achieved conspicuous progress, and are now capable of producing genuinely correct fixes in scenarios that were well beyond their capabilities only a few years ago. Nevertheless, even when an…

Software Engineering · Computer Science 2026-04-28 Shifat Sahariar Bhuiyan , Abhishek Tiwari , Yu Pei , Carlo A. Furia

The number of bug reports in complex software increases dramatically. Now bugs are triaged manually, bug triage or assignment is a labor-intensive and time-consuming task. Without knowledge about the structure of the software, testers often…

Software Engineering · Computer Science 2012-06-07 Deqing Wang , Hui Zhang , Rui Liu , Mengxiang Lin , Wenjun Wu , Hongping Hu

Gradual typing enables developers to annotate types of their own choosing, offering a flexible middle ground between no type annotations and a fully statically typed language. As more and more code bases get type-annotated, static type…

Software Engineering · Computer Science 2024-01-15 Yiu Wai Chow , Luca Di Grazia , Michael Pradel

Natural language elements in source code, e.g., the names of variables and functions, convey useful information. However, most existing bug detection tools ignore this information and therefore miss some classes of bugs. The few existing…

Software Engineering · Computer Science 2018-05-31 Michael Pradel , Koushik Sen

Multiple approaches have been proposed to automatically recommend potential developers who can address bug reports. These approaches are typically designed to work for any bug report submitted to any software project. However, we conjecture…

Software Engineering · Computer Science 2023-05-31 Yang Song , Oscar Chaparro

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

Automated Program Repair (APR) seeks to automatically correct software bugs without requiring human intervention. However, existing tools tend to generate patches that satisfy test cases without fixing the underlying bug, those are known as…

Software Engineering · Computer Science 2025-07-31 Marcos Fuster-Pena , David de-Fitero-Dominguez , Antonio Garcia-Cabot , Eva Garcia-Lopez

Automated program repair is a crucial task for improving the efficiency of software developers. Recently, neural-based techniques have demonstrated significant promise in generating correct patches for buggy code snippets. However, most…

Software Engineering · Computer Science 2023-05-17 Yuwei Zhang , Ge Li , Zhi Jin , Ying Xing

The existing deep learning (DL)-based automated program repair (APR) models are limited in fixing general software defects. % We present {\tool}, a DL-based approach that supports fixing for the general bugs that require dependent changes…

Software Engineering · Computer Science 2022-05-05 Yi Li , Shaohua Wang , Tien N. Nguyen

Despite the operational importance of hot fixes, large-scale evidence on how they reshape routine maintenance workflows, particularly in the era of autonomous coding agents, remains limited. We analyse hot fixes present in over 61,000…

Software Engineering · Computer Science 2026-04-30 Carol Hanna , Karine Even-Mendoza , W. B. Langdon , Mar Zamorano López , Justyna Petke , Federica Sarro

Bug-fix benchmarks are fundamental in advancing various sub-fields of software engineering such as automatic program repair (APR) and fault localization (FL). A good benchmark must include recent examples that accurately reflect…

Software Engineering · Computer Science 2024-03-15 Nuno Saavedra , André Silva , Martin Monperrus

Nowadays, development teams often rely on tools such as Jira or Bugzilla to manage backlogs of issues to be solved to develop or maintain software. Although they relate to many different concerns (e.g., bug fixing, new feature development,…

Software Engineering · Computer Science 2021-03-24 Quentin Perez , Pierre-Antoine Jean , Christelle Urtado , Sylvain Vauttier

Fixing software bugs has always been an essential and time-consuming process in software development. Fixing concurrency bugs has become especially critical in the multicore era. However, fixing concurrency bugs is challenging due to…

Software Engineering · Computer Science 2024-01-10 Sanjay Malakar , Tameem Bin Haider , Rifat Shahriar

Context: Bug bisection is a common technique used to identify a revision that introduces a bug or indirectly fixes a bug, and often involves executing multiple revisions of a project to determine whether the bug is present within the…

Software Engineering · Computer Science 2024-05-06 Ching Hang Mak , Shing-Chi Cheung

Software auditing is an increasingly critical task in the era of rapid code generation. While LLM-based auditors have demonstrated strong potential, their effectiveness remains limited by misalignment with the highly complex,…

Software Engineering · Computer Science 2026-04-16 Jinyao Guo , Chengpeng Wang , Dominic Deluca , Jinjie Liu , Zhuo Zhang , Xiangyu Zhang

The task of finding the best developer to fix a bug is called bug triage. Most of the existing approaches consider the bug triage task as a classification problem, however, classification is not appropriate when the sets of classes change…

Software Engineering · Computer Science 2022-01-17 Denis Sushentsev , Aleksandr Khvorov , Roman Vasiliev , Yaroslav Golubev , Timofey Bryksin