DeepDebug: Fixing Python Bugs Using Stack Traces, Backtranslation, and Code Skeletons
Not on the map. Why?
Abstract (arXiv)
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.
Key facts. Cited by 17 papers in the map (data through 7 Oct 2026). Builds on 17 of its 25 references that are in the map. First posted on arXiv 19 May 2021.
Builds on
17 of 25 references.
References · 17
- 2020Language Models are Few-Shot Learnerscited by 32,199
- 2019Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformercited by 14,491
- 2019BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehensioncited by 5,874
- 2020Reformer: The Efficient Transformercited by 1,658
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
- 2019CodeSearchNet Challenge: Evaluating the State of Semantic Code Searchcited by 638
- 2020IntelliCode Compose: Code Generation Using Transformercited by 225
- 2017Learning to Represent Programs with Graphscited by 219
- 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 144
- 2018An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translationcited by 106
- 2020PyMT5: multi-mode translation of natural language and Python code with transformerscited by 80
- 2019An Empirical Study of Incorporating Pseudo Data into Grammatical Error Correctioncited by 55
5 more
- 2019Learning and Evaluating Contextual Embedding of Source Codecited by 33
- 2021Generating Bug-Fixes Using Pretrained Transformerscited by 18
- 2018A Comprehensive Study of Automatic Program Repair on the QuixBugs Benchmarkcited by 17
- 2017Semantic Code Repair using Neuro-Symbolic Transformation Networkscited by 13
- 2019Empirical Review of Java Program Repair Tools: A Large-Scale Experiment on 2,141 Bugs and 23,551 Repair Attemptscited by 12
Built on by
Citing papers per year: 2021: 1; 2022: 3; 2023: 8; 2024: 0; 2025: 4; 2026: 1.
17 papers.
Sort:
By area:
- 2023OctoPack: Instruction Tuning Code Large Language Modelscited by 178
- 2021Leveraging Automated Unit Tests for Unsupervised Code Translationcited by 82
- 2023Unifying the Perspectives of NLP and Software Engineering: A Survey on Language Models for Codecited by 62
- 2023How Effective Are Neural Networks for Fixing Security Vulnerabilitiescited by 50
- 2023Conversational Automated Program Repaircited by 41
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Reviewcited by 32
- 2025SWE-Synth: Synthesizing Verifiable Bug-Fix Data to Enable Large Language Models in Resolving Real-World Bugscited by 22
- 2023RAPGen: An Approach for Fixing Code Inefficiencies in Zero-Shotcited by 14
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repaircited by 13
- 2025From Code Foundation Models to Agents and Applications: A Comprehensive Survey and Practical Guide to Code Intelligencecited by 13
- 2023RunBugRun -- An Executable Dataset for Automated Program Repaircited by 10
- 2026SGAgent: Suggestion-Guided LLM-Based Multi-Agent Framework for Repository-Level Software Repaircited by 9
5 more
- 2022Fix Bugs with Transformer through a Neural-Symbolic Edit Grammarcited by 8
- 2022DeepPERF: A Deep Learning-Based Approach For Improving Software Performancecited by 6
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Groundingcited by 4
- 2025The Impact of Fine-tuning Large Language Models on Automated Program Repaircited by 3
- 2022BigIssue: A Realistic Bug Localization Benchmarkcited by 0
- 2026SGAgent: Suggestion-Guided LLM-Based Multi-Agent Framework for Repository-Level Software Repair27 Feb 2026
- 2025From Code Foundation Models to Agents and Applications: A Comprehensive Survey and Practical Guide to Code Intelligence23 Nov 2025
- 2025The Impact of Fine-tuning Large Language Models on Automated Program Repair26 Jul 2025
- 2025SWE-Synth: Synthesizing Verifiable Bug-Fix Data to Enable Large Language Models in Resolving Real-World Bugs20 Apr 2025
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Grounding27 Mar 2025
- 2023Unifying the Perspectives of NLP and Software Engineering: A Survey on Language Models for Code14 Nov 2023
- 2023OctoPack: Instruction Tuning Code Large Language Models14 Aug 2023
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Review4 Jul 2023
- 2023RAPGen: An Approach for Fixing Code Inefficiencies in Zero-Shot29 Jun 2023
- 2023How Effective Are Neural Networks for Fixing Security Vulnerabilities29 May 2023
- 2023RunBugRun -- An Executable Dataset for Automated Program Repair3 Apr 2023
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair3 Feb 2023
5 more
- 2023Conversational Automated Program Repair30 Jan 2023
- 2022BigIssue: A Realistic Bug Localization Benchmark21 Jul 2022
- 2022DeepPERF: A Deep Learning-Based Approach For Improving Software Performance27 Jun 2022
- 2022Fix Bugs with Transformer through a Neural-Symbolic Edit Grammar13 Apr 2022
- 2021Leveraging Automated Unit Tests for Unsupervised Code Translation13 Oct 2021
- 2023OctoPack: Instruction Tuning Code Large Language Modelscited by 178
- 2021Leveraging Automated Unit Tests for Unsupervised Code Translationcited by 82
- 2023Unifying the Perspectives of NLP and Software Engineering: A Survey on Language Models for Codecited by 62
- 2023How Effective Are Neural Networks for Fixing Security Vulnerabilitiescited by 50
- 2023Conversational Automated Program Repaircited by 41
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Reviewcited by 32
- 2025SWE-Synth: Synthesizing Verifiable Bug-Fix Data to Enable Large Language Models in Resolving Real-World Bugscited by 22
- 2023RAPGen: An Approach for Fixing Code Inefficiencies in Zero-Shotcited by 14
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repaircited by 13
- 2023RunBugRun -- An Executable Dataset for Automated Program Repaircited by 10
- 2022Fix Bugs with Transformer through a Neural-Symbolic Edit Grammarcited by 8
- 2022DeepPERF: A Deep Learning-Based Approach For Improving Software Performancecited by 6
12 most cited of 15 All 15 (JSON)
- 2025The Impact of Fine-tuning Large Language Models on Automated Program Repair26 Jul 2025
- 2025SWE-Synth: Synthesizing Verifiable Bug-Fix Data to Enable Large Language Models in Resolving Real-World Bugs20 Apr 2025
- 2025ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Grounding27 Mar 2025
- 2023Unifying the Perspectives of NLP and Software Engineering: A Survey on Language Models for Code14 Nov 2023
- 2023OctoPack: Instruction Tuning Code Large Language Models14 Aug 2023
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Review4 Jul 2023
- 2023RAPGen: An Approach for Fixing Code Inefficiencies in Zero-Shot29 Jun 2023
- 2023How Effective Are Neural Networks for Fixing Security Vulnerabilities29 May 2023
- 2023RunBugRun -- An Executable Dataset for Automated Program Repair3 Apr 2023
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair3 Feb 2023
- 2023Conversational Automated Program Repair30 Jan 2023
- 2022BigIssue: A Realistic Bug Localization Benchmark21 Jul 2022
12 newest of 15 All 15 (JSON)