English
Related papers

Related papers: Break-It-Fix-It: Unsupervised Learning for Program…

200 papers

Learning-based program repair has achieved good results in a recent series of papers. Yet, we observe that the related work fails to repair some bugs because of a lack of knowledge about 1) the application domain of the program being…

Software Engineering · Computer Science 2023-04-20 He Ye , Matias Martinez , Xiapu Luo , Tao Zhang , Martin Monperrus

Due to its potential to improve programmer productivity and software quality, automated program repair has been an active topic of research. Newer techniques harness neural networks to learn directly from examples of buggy programs and…

Machine Learning · Computer Science 2019-04-04 Marko Vasic , Aditya Kanade , Petros Maniatis , David Bieber , Rishabh Singh

Statistical analysis is the tool of choice to turn data into information, and then information into empirical knowledge. To be valid, the process that goes from data to knowledge should be supported by detailed, rigorous guidelines, which…

Software Engineering · Computer Science 2024-10-03 Carlo A. Furia , Richard Torkar , Robert Feldt

A Bug Inducing Commit (BIC) is a code change that introduces a bug into the codebase. Although the abnormal or unexpected behavior caused by the bug may not manifest immediately, it will eventually lead to program failures further down the…

Software Engineering · Computer Science 2025-02-20 Gabin An , Jinsu Choi , Jingun Hong , Naryeong Kim , Shin Yoo

We consider the problem of learning to repair programs from diagnostic feedback (e.g., compiler error messages). Program repair is challenging for two reasons: First, it requires reasoning and tracking symbols across source code and…

Software Engineering · Computer Science 2020-07-01 Michihiro Yasunaga , Percy Liang

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

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) holds the promise of alleviating the burden of debugging and fixing software bugs. Despite this, developers still need to manually inspect each patch to confirm its correctness, which is tedious and…

Software Engineering · Computer Science 2025-03-04 Ruixin Wang , Zhongkai Zhao , Le Fang , Nan Jiang , Yiling Lou , Lin Tan , Tianyi Zhang

Previous neural solvers of math word problems (MWPs) are learned with full supervision and fail to generate diverse solutions. In this paper, we address this issue by introducing a \textit{weakly-supervised} paradigm for learning MWPs. Our…

Artificial Intelligence · Computer Science 2021-08-05 Yining Hong , Qing Li , Daniel Ciao , Siyuan Huang , Song-Chun Zhu

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

Fault-detection, localization, and repair methods are vital to software quality; but it is difficult to evaluate their generality, applicability, and current effectiveness. Large, diverse, realistic datasets of durably-reproducible faults…

Many programmers, when they encounter an error, would like to have the benefit of automatic fix suggestions---as long as they are, most of the time, adequate. Initial research in this direction has generally limited itself to specific…

Software Engineering · Computer Science 2015-03-18 Yu Pei , Yi Wei , Carlo A. Furia , Martin Nordio , Bertrand Meyer

Large language models (LLMs) often hallucinate, yet most existing fact-checking methods treat factuality evaluation as a binary classification problem, offering limited interpretability and failing to capture fine-grained error types. In…

Computation and Language · Computer Science 2026-01-13 Yuzhuo Bai , Shuzheng Si , Kangyang Luo , Qingyi Wang , Wenhao Li , Gang Chen , Fanchao Qi , Maosong Sun

Automated Program Repair (APR) aims to automatically generate correct patches for buggy programs. Recent approaches leveraging large language models (LLMs) have shown promise but face limitations. Most rely solely on static analysis,…

Software Engineering · Computer Science 2026-04-21 Zhili Huang , Ling Xu , Chao Liu , Weifeng Sun , Xu Zhang , Yan Lei , Meng Yan , Hongyu Zhang

Instruction tuning plays a pivotal role in Code Large Language Models (Code LLMs) for the task of program synthesis. Presently, two dominant paradigms for collecting tuning data are natural-instruct (human-written) and self-instruct…

Computation and Language · Computer Science 2024-03-04 Xianzhen Luo , Qingfu Zhu , Zhiming Zhang , Xu Wang , Qing Yang , Dongliang Xu , Wanxiang Che

Accurately predicting faulty software units helps practitioners target faulty units and prioritize their efforts to maintain software quality. Prior studies use machine-learning models to detect faulty software code. We revisit past studies…

Software Engineering · Computer Science 2019-01-08 Libo Li , Stefan Lessmann , Bart Baesens

In introductory programming courses, it is challenging for instructors to provide debugging feedback on students' incorrect programs. Some recent tools automatically offer program repair feedback by identifying any differences between…

Software Engineering · Computer Science 2021-07-15 Yunlong Lu , Na Meng , Wenxin Li

Flaky tests are problematic because they non-deterministically pass or fail for the same software version under test, causing confusion and wasting development effort. While machine learning models have been used to predict flakiness and…

Software Engineering · Computer Science 2024-10-08 Sakina Fatima , Hadi Hemmati , Lionel Briand

The standard way to teach models is by feeding them lots of data. However, this approach often teaches models incorrect ideas because they pick up on misleading signals in the data. To prevent such misconceptions, we must necessarily…

Machine Learning · Computer Science 2024-08-23 Yoonho Lee , Michelle S. Lam , Helena Vasconcelos , Michael S. Bernstein , Chelsea Finn

Automated program repair (APR) techniques are effective in fixing inevitable defects in software, enhancing development efficiency and software robustness. However, due to the difficulty of generating precise specifications, existing APR…

Software Engineering · Computer Science 2025-10-17 Xu He , Shu Wang , Kun Sun