paper-with-me

홈 › Papers

DeepDebug: Fixing Python Bugs Using Stack Traces, Backtranslation, and Code Skeletons

2021-05-19 · Dawn Drain, Colin B. Clement, Guillermo Serrato, Neel Sundaresan

The joint task of bug localization and program repair is an integral part of the software development process. In this work we present DeepDebug, an approach to automated debugging using large, pretrained transformers. We begin by training a bug-creation model on reversed commit data for the purpose of generating synthetic bugs. We apply these synthetic bugs toward two ends. First, we directly train a backtranslation model on all functions from 200K repositories. Next, we focus on 10K repositories for which we can execute tests, and create buggy versions of all functions in those repositories that are covered by passing tests. This provides us with rich debugging information such as stack traces and print statements, which we use to finetune our model which was pretrained on raw source code. Finally, we strengthen all our models by expanding the context window beyond the buggy function itself, and adding a skeleton consisting of that function's parent class, imports, signatures, docstrings, and method bodies, in order of priority. On the QuixBugs benchmark, we increase the total number of fixes found by over 50%, while also decreasing the false positive rate from 35% to 5% and decreasing the timeout from six hours to one minute. On our own benchmark of executable tests, our model fixes 68% of all bugs on its first attempt without using traces, and after adding traces it fixes 75% on first attempt. We will open-source our framework and validation set for evaluating on executable tests.

📄 PDF Abstract BibTeX arXiv:2105.09352

Code (0)

등록된 구현이 없습니다.

Tasks

Program Repair

Methods 이 논문이 사용한 방법론

Repair 설명 없음

Similar Papers 제목 키워드 기반

What Causes Exceptions in Machine Learning Applications? Mining Machine Learning-Related Stack Traces on Stack Overflow

2023-04-25 · Amin Ghadesi, Maxime Lamothe, Heng Li

Machine learning (ML), including deep learning, has recently gained tremendous popularity in a wide range of applications. However, like traditional software, ML applications are not immune to the bugs that result from p…

Generating Bug-Fixes Using Pretrained Transformers

2021-04-16 · Dawn Drain, Chen Wu, Alexey Svyatkovskiy, Neel Sundaresan

Detecting and fixing bugs are two of the most important yet frustrating parts of the software development cycle. Existing bug detection tools are based mainly on static analyzers, which rely on mathematical logic and sym…

DenoisingProgram Repair

AgentDebugX: An Open-Source Toolkit for Failure Observability, Attribution, and Recovery in LLM Agents

2026-07-21 · Kunlun Zhu, Xuyan Ye, Zhiguang Han, Yuchen Zhao 외 hf

LLM agent failures are difficult to debug because the step where an error surfaces is often not the one that caused it. Existing observability tools replay execution traces but provide little support for identifying the …

EnHMM: On the Use of Ensemble HMMs and Stack Traces to Predict the Reassignment of Bug Report Fields

2021-03-15 · Md Shariful Islam, Abdelwahab Hamou-Lhadj, Korosh K. Sabor, Mohammad Hamdaqa 외

Bug reports (BR) contain vital information that can help triaging teams prioritize and assign bugs to developers who will provide the fixes. However, studies have shown that BR fields often contain incorrect information …

Bug fixing

CoCoNuT: Combining Context-Aware Neural Translation Models using Ensemble for Program Repair

2020-07-18 · Thibaud Lutellier, Hung Viet Pham, Lawrence Pang, Yitong Li 외

Automated generate-and-validate (GV) program repair techniques (APR) typically rely on hard-coded rules, thus only fixing bugs following specific fix patterns. These rules require a significant amount of manual effort to…

Ensemble LearningMachine TranslationNMTProgram Repair+1