English
Related papers

Related papers: Show Me Why It's Correct: Saving 1/3 of Debugging …

200 papers

Many automated program repair techniques have been proposed for fixing bugs. Some of these techniques use the information beyond the given buggy program and test suite to improve the quality of generated patches. However, there are several…

Software Engineering · Computer Science 2021-03-26 Shin Hwei Tan , Ziqiang Li , Lu Yan

Automated program repair (APR) attempts to reduce manual debugging efforts and plays a vital role in software maintenance. Despite remarkable progress, APR is still limited in generating overfitting patches, i.e., patches passing available…

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

Static analyzers help find bugs early by warning about recurring bug categories. While fixing these bugs still remains a mostly manual task in practice, we observe that fixes for a specific bug category often are repetitive. This paper…

Software Engineering · Computer Science 2019-11-22 Johannes Bader , Andrew Scott , Michael Pradel , Satish Chandra

With the recent advances in AI programming assistants such as GitHub Copilot, programming is not limited to classical programming languages anymore--programming tasks can also be expressed and solved by end-users in natural text. Despite…

Software Engineering · Computer Science 2024-12-18 Ruchit Rawal , Victor-Alexandru Pădurean , Sven Apel , Adish Singla , Mariya Toneva

Mobile application performance is a vital factor for user experience. Yet, performance issues are notoriously difficult to detect in development environments, where they often manifest less conspicuously, making their diagnosis more…

Software Engineering · Computer Science 2026-03-05 Zhengquan Li , Zhenhao Li , Zishuo Ding

Android apps are event-driven, and their execution is often interrupted by external events. This interruption can cause data loss issues that annoy users. For instance, when the screen is rotated, the current app page will be destroyed and…

Software Engineering · Computer Science 2022-09-20 Wunan Guo , Zhen Dong , Liwei Shen , Wei Tian , Ting Su , Xin Peng

Software updates, including bug repair and feature additions, are frequent in modern applications but they often leave test suites outdated, resulting in undetected bugs and increased chances of system failures. A recent study by Meta…

Software Engineering · Computer Science 2025-03-20 Shanto Rahman , Sachit Kuhar , Berk Cirisci , Pranav Garg , Shiqi Wang , Xiaofei Ma , Anoop Deoras , Baishakhi Ray

Continuous Integration (CI) enforces repository-level correctness through multi-stage workflows and is central to modern software development, yet diagnosing and repairing CI failures remains challenging. Unlike traditional program repair,…

Software Engineering · Computer Science 2026-05-06 Rabeya Khatun Muna , Md Nakhla Rafi , Tse-Hsun , Chen

We consider repair tasks: given a critic (e.g., compiler) that assesses the quality of an input, the goal is to train a fixer that converts a bad example (e.g., code with syntax errors) into a good one (e.g., code with no syntax errors).…

Machine Learning · Computer Science 2021-06-23 Michihiro Yasunaga , Percy Liang

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

Improving software performance is an important yet challenging part of the software development cycle. Today, the majority of performance inefficiencies are identified and patched by performance experts. Recent advancements in deep learning…

Software Engineering · Computer Science 2022-06-29 Spandan Garg , Roshanak Zilouchian Moghaddam , Colin B. Clement , Neel Sundaresan , Chen Wu

Many cloud services provide REST API accessible to client applications. However, developers often identify specification violations only during testing, as error messages typically lack the detail necessary for effective diagnosis.…

Software Engineering · Computer Science 2025-10-30 Katsuki Yamagishi , Norihiro Yoshida , Erina Makihara , Katsuro Inoue

In recent years, machine learning (ML) based software systems are increasingly deployed in several critical applications, yet systematic testing of their behavior remains challenging due to complex model architectures, large input spaces,…

Software Engineering · Computer Science 2026-03-17 Fadel Mamar Seydou , Arnab Sharma

Bug fixing and code generation have been core research topics in software development for many years. The recent explosive growth in Large Language Models has completely transformed these spaces, putting in reach incredibly powerful tools…

Artificial Intelligence · Computer Science 2024-11-13 Avinash Anand , Akshit Gupta , Nishchay Yadav , Shaurya Bajaj

Automated program repair (APR) has shown promising results, particularly with the use of neural networks. Currently, most APR tools focus on code transformations specified by test suites, rather than reasoning about the program intent and…

Software Engineering · Computer Science 2025-06-23 He Ye , Aidan Z. H. Yang , Chang Hu , Yanlin Wang , Tao Zhang , Claire Le Goues

Performance is a key quality of modern software. Although recent years have seen a spike in research on automated improvement of software's execution time, energy, memory consumption, etc., there is a noticeable lack of standard benchmarks…

Software Engineering · Computer Science 2025-09-09 Aymeric Blot , Justyna Petke

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

Debugging software, i.e., the localization of faults and their repair, is a key activity in software engineering. Therefore, effective and efficient debugging is one of the core skills a software engineer must develop. However, the teaching…

Automated program repair (APR) is designed to automate the process of bug-fixing. In recent years, thanks to the rapid development of large language models (LLMs), automated repair has achieved remarkable progress. Advanced APR techniques…

Software Engineering · Computer Science 2025-04-10 Aolin Chen , Haojun Wu , Qi Xin , Steven P. Reiss , Jifeng Xuan

Due to the difficulty of repairing defect, many research efforts have been devoted into automatic defect repair. Given a buggy program that fails some test cases, a typical automatic repair technique tries to modify the program to make all…

Software Engineering · Computer Science 2018-08-30 Yingfei Xiong , Jie Wang , Runfa Yan , Jiachen Zhang , Shi Han , Gang Huang , Lu Zhang