English
Related papers

Related papers: Generating Bug-Fixes Using Pretrained Transformers

200 papers

In software engineering practice, fixing a bug promptly reduces the associated costs. On the other hand, the manual bug fixing process can be time-consuming, cumbersome, and error-prone. In this work, we introduce a bug triaging method,…

Software Engineering · Computer Science 2021-06-17 Hadi Jahanshahi , Kritika Chhabra , Mucahit Cevik , Ayşe Başar

Bugs are essential in software engineering; many research studies in the past decades have been proposed to detect, localize, and repair bugs in software systems. Effectiveness evaluation of such techniques requires complex bugs, i.e.,…

Software Engineering · Computer Science 2025-09-10 Ali Reza Ibrahimzada , Yang Chen , Ryan Rong , Reyhaneh Jabbarvand

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 NSEdit (neural-symbolic edit), a novel Transformer-based code repair method. Given only the source code that contains bugs, NSEdit predicts an editing sequence that can fix the bugs. The edit grammar is formulated as a regular…

Machine Learning · Computer Science 2022-04-19 Yaojie Hu , Xingjian Shi , Qiang Zhou , Lee Pike

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

Issue tracking systems are commonly used in modern software development for collecting feedback from users and developers. An ultimate automation target of software maintenance is then the systematization of patch generation for…

Software Engineering · Computer Science 2019-08-20 Anil Koyuncu , Kui Liu , Tegawendé F. Bissyandé , Dongsun Kim , Martin Monperrus , Jacques Klein , Yves Le Traon

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

Redundancy-based automated program repair (APR), which generates patches by referencing existing source code, has gained much attention since they are effective in repairing real-world bugs with good interpretability. However, since…

Software Engineering · Computer Science 2025-08-27 Jiajun Jiang , Fengjie Li , Zijie Zhao , Zhirui Ye , Mengjiao Liu , Bo Wang , Hongyu Zhang , Junjie Chen

Backtracking (i.e., reverse execution) helps the user of a debugger to naturally think backwards along the execution path of a program, and thinking backwards makes it easy to locate the origin of a bug. So far backtracking has been…

Programming Languages · Computer Science 2013-09-23 Jooyong Yi

Bug fixing holds significant importance in software development and maintenance. Recent research has made substantial strides in exploring the potential of large language models (LLMs) for automatically resolving software bugs. However, a…

Software Engineering · Computer Science 2025-02-18 Yuwei Zhang , Zhi Jin , Ying Xing , Ge Li , Fang Liu , Jiaxin Zhu , Wensheng Dou , Jun Wei

Professional software developers spend a significant amount of time fixing builds, but this has received little attention as a problem in automatic program repair. We present a new deep learning architecture, called Graph2Diff, for…

Benchmarks of bugs are essential to empirically evaluate automatic program repair tools. In this paper, we present Bears, a project for collecting and storing bugs into an extensible bug benchmark for automatic repair studies in Java. The…

Software Engineering · Computer Science 2019-04-04 Fernanda Madeiral , Simon Urli , Marcelo Maia , Martin Monperrus

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

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

Modern Deep Learning (DL) architectures based on transformers (e.g., BERT, RoBERTa) are exhibiting performance improvements across a number of natural language tasks. While such DL models have shown tremendous potential for use in software…

Software Engineering · Computer Science 2023-06-02 Agnieszka Ciborowska , Kostadin Damevski

This paper proposes a supervised machine learning approach for predicting the root cause of a given bug report. Knowing the root cause of a bug can help developers in the debugging process - either directly or indirectly by choosing proper…

Software Engineering · Computer Science 2021-03-04 Thomas Hirsch , Birgit Hofer

Training a deep learning model on source code has gained significant traction recently. Since such models reason about vectors of numbers, source code needs to be converted to a code representation before vectorization. Numerous approaches…

Software Engineering · Computer Science 2022-07-18 Marjane Namavar , Noor Nashid , Ali Mesbah

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

Debugging software remains a labor-intensive and time-consuming process despite advances in testing and verification. Learning-based automated program repair (APR) has shown promise in reducing the effort of manually fixing bugs. However,…

Software Engineering · Computer Science 2026-04-14 Reza Gharibi , Mohammad Hadi Sadreddini , Seyed Mostafa Fakhrahmad

Automated debugging techniques have the potential to reduce developer effort in debugging, and have matured enough to be adopted by industry. However, one critical issue with existing techniques is that, while developers want rationales for…

Software Engineering · Computer Science 2023-04-06 Sungmin Kang , Bei Chen , Shin Yoo , Jian-Guang Lou