English
Related papers

Related papers: Getafix: Learning to Fix Bugs Automatically

200 papers

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

Background: Over the years, Automated Program Repair (APR) has attracted much attention from both academia and industry since it can reduce the costs in fixing bugs. However, how to assess the patch correctness remains to be an open…

Software Engineering · Computer Science 2019-06-11 Shangwen Wang , Ming Wen , Liqian Chen , Xin Yi , Xiaoguang Mao

Neural network-based techniques for automated program repair are becoming increasingly effective. Despite their success, little is known about why they succeed or fail, and how their way of reasoning about the code to repair compares to…

Software Engineering · Computer Science 2023-05-15 Dominik Huber , Matteo Paltenghi , Michael Pradel

Programming is increasingly taught using block-based languages like Scratch. While the use of blocks prevents syntax errors, learners can still make semantic mistakes, requiring feedback and help. As teachers may be overwhelmed by help…

Software Engineering · Computer Science 2025-04-18 Sebastian Schweikl , Gordon Fraser

Benchmarks are pivotal in driving AI progress, and invalid benchmark questions frequently undermine their reliability. Manually identifying and correcting errors among thousands of benchmark questions is not only infeasible but also a…

Code contains security and functional bugs. The process of identifying and localizing them is difficult and relies on human labor. In this work, we present a novel approach (FLAG) to assist human debuggers. FLAG is based on the lexical…

Cryptography and Security · Computer Science 2023-06-23 Baleegh Ahmad , Benjamin Tan , Ramesh Karri , Hammond Pearce

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

Automatic program repair (APR) has recently gained attention because it proposes to fix software defects with no human intervention. To automatically fix defects, most APR tools use the developer-written tests to (a) localize the defect,…

Software Engineering · Computer Science 2021-04-19 Manish Motwani

Finding and fixing buggy code is an important and cost-intensive maintenance task, and static analysis (SA) is one of the methods developers use to perform it. SA tools warn developers about potential bugs by scanning their source code for…

Software Engineering · Computer Science 2020-09-04 Yoshiki Higo , Shinpei Hayashi , Hideaki Hata , Meiyappan Nagappan

Fault based testing is a technique in which test cases are chosen to reveal certain classes of faults. At present, testing professionals use their personal experience to select testing methods for fault classes considered the most likely to…

Software Engineering · Computer Science 2012-05-31 Shimul Kumar Nath , Robert Merkel , Man Fai Lau , Tanay Kanti Paul

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

With the rapid development of large language models (LLMs), distributed training and inference frameworks like DeepSpeed have become essential for scaling model training and inference across multiple GPUs or nodes. However, the increasing…

Software Engineering · Computer Science 2025-06-13 Xiao Yu , Haoxuan Chen , Feifei Niu , Xing Hu , Jacky Wai Keung , Xin Xia

Automatic program repair holds the potential of dramatically improving the productivity of programmers during the software development process and correctness of software in general. Recent advances in machine learning, deep learning, and…

Software Engineering · Computer Science 2021-09-24 Hossein Hajipour , Apratim Bhattacharyya , Cristian-Alexandru Staicu , Mario Fritz

Recently, neural networks have spread into numerous fields including many safety-critical systems. Neural networks are built (and trained) by programming in frameworks such as TensorFlow and PyTorch. Developers apply a rich set of…

Machine Learning · Computer Science 2023-06-16 Richard Schumi , Jun Sun

Bug triage is an important step in the process of bug fixing. The goal of bug triage is to assign a new-coming bug to the correct potential developer. The existing bug triage approaches are based on machine learning algorithms, which build…

Software Engineering · Computer Science 2017-03-14 Weiqin Zou , Yan Hu , Jifeng Xuan , He Jiang

Software quality assurance remains a major challenge in industrial environments, where large-scale and long-lived systems inevitably accumulate defects. Identifying the location of a fault is often time-consuming and costly, particularly…

Software Engineering · Computer Science 2026-05-14 Pernilla Hall , Anton Ununger , Riccardo Rubei , Alessio Bucaioni

Users frequently interact with software systems through data entry forms. However, form filling is time-consuming and error-prone. Although several techniques have been proposed to auto-complete or pre-fill fields in the forms, they provide…

Software Engineering · Computer Science 2024-08-20 Hichem Belgacem , Xiaochen Li , Domenico Bianculli , Lionel C. Briand

Despite significant advances in automatic program repair (APR)techniques over the past decade, practical deployment remains an elusive goal. One of the important challenges in this regard is the general inability of current APR techniques…

Software Engineering · Computer Science 2019-06-24 Seemanta Saha , Ripon K. Saha , Mukul R. Prasad

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

Static analysis plays a key role in finding bugs, including security issues. A critical step in static analysis is building accurate call graphs that model function calls in a program. However, due to hard-to-analyze language features,…

Software Engineering · Computer Science 2025-06-24 Masudul Hasan Masud Bhuiyan , Gianluca De Stefano , Giancarlo Pellegrino , Cristian-Alexandru Staicu