Self-Supervised Bug Detection and Repair
Not on the map. Why?
Abstract (arXiv)
Machine learning-based program analyses have recently shown the promise of integrating formal and probabilistic reasoning towards aiding software development. However, in the absence of large annotated corpora, training these analyses is challenging. Towards addressing this, we present BugLab, an approach for self-supervised learning of bug detection and repair. BugLab co-trains two models: (1) a detector model that learns to detect and repair bugs in code, (2) a selector model that learns to create buggy code for the detector to use as training data. A Python implementation of BugLab improves by up to 30% upon baseline methods on a test dataset of 2374 real-life bugs and finds 19 previously unknown bugs in open-source software.
Key facts. Cited by 59 papers in the map (data through 14 Oct 2026). Builds on 17 of its 34 references that are in the map. First posted on arXiv 26 May 2021.
Builds on
17 of 34 references.
References · 17
- 2017Neural Message Passing for Quantum Chemistrycited by 3,487
- 2016Pointer Sentinel Mixture Modelscited by 3,096
- 2015Gated Graph Sequence Neural Networkscited by 796
- 2021Going deeper with Image Transformerscited by 764
- 2020Emergent Complexity and Zero-shot Transfer via Unsupervised Environment Designcited by 275
- 2020ReZero is All You Need: Fast Convergence at Large Depthcited by 264
- 2017A Survey of Machine Learning for Big Code and Naturalnesscited by 221
- 2017Learning to Represent Programs with Graphscited by 220
- 2018The Adverse Effects of Code Duplication in Machine Learning Models of Codecited by 126
- 2018DeepBugs: A Learning Approach to Name-based Bug Detectioncited by 65
- 2020Semantic Robustness of Models of Source Codecited by 45
- 2020LambdaNet: Probabilistic Type Inference using Graph Neural Networkscited by 44
5 more
- 2019Neural Program Repair by Jointly Learning to Localize and Repaircited by 40
- 2019How Often Do Single-Statement Bugs Occur? The ManySStuBs4J Datasetcited by 36
- 2015On the "Naturalness" of Buggy Codecited by 35
- 2020Typilus: Neural Type Hintscited by 29
- 2019Learning to Fix Build Errors with Graph2Diff Neural Networkscited by 26
Built on by
Citing papers per year: 2021: 5; 2022: 19; 2023: 14; 2024: 7; 2025: 6; 2026: 8.
59 papers.
Sort:
By area:
- 2023An Empirical Evaluation of Using Large Language Models for Automated Unit Test Generationcited by 194
- 2023CodeBERTScore: Evaluating Code Generation with Pretrained Models of Codecited by 102
- 2023RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repaircited by 44
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Reviewcited by 32
- 2023Large Language Models of Code Fail at Completing Code with Potential Bugscited by 29
- 2023Multi-target Backdoor Attacks for Code Pre-trained Modelscited by 23
- 2024Evaluating LLMs' Mathematical and Coding Competency through Ontology-guided Interventionscited by 20
- 2021Towards Learning (Dis)-Similarity of Source Code from Program Contrastscited by 17
- 2023ITER: Iterative Neural Repair for Multi-Location Patchescited by 16
- 2024MdEval: Massively Multilingual Code Debuggingcited by 16
- 2022On Distribution Shift in Learning-based Bug Detectorscited by 15
- 2022HEAT: Hyperedge Attention Networkscited by 13
38 more
- 2022Static Prediction of Runtime Errors by Learning to Execute Programs with External Resource Descriptionscited by 11
- 2023RunBugRun -- An Executable Dataset for Automated Program Repaircited by 11
- 2022Detect-Localize-Repair: A Unified Framework for Learning to Debug with CodeT5cited by 10
- 2022Improving Automated Program Repair with Domain Adaptationcited by 10
- 2026Socratic-SWE: Self-Evolving Coding Agents via Trace-Derived Agent Skillscited by 9
- 2022Fix Bugs with Transformer through a Neural-Symbolic Edit Grammarcited by 8
- 2024DeepCode AI Fix: Fixing Security Vulnerabilities with Large Language Modelscited by 7
- 2025Are Large Language Models Robust in Understanding Code Against Semantics-Preserving Mutations?cited by 7
- 2024Mitigating Data Imbalance for Software Vulnerability Assessment: Does Data Augmentation Help?cited by 6
- 2025RAGVA: Engineering Retrieval Augmented Generation-based Virtual Assistants in Practicecited by 6
- 2023Boosting Source Code Learning with Text-Oriented Data Augmentation: An Empirical Studycited by 5
- 2023Learning Defect Prediction from Unrealistic Datacited by 5
- 2025IFEvalCode: Controlled Code Generationcited by 5
- 2022A Survey of Deep Learning Models for Structural Code Understandingcited by 4
- 2022Can we learn from developer mistakes? Learning to localize and repair real bugs from real bug fixescited by 4
- 2022A Library for Representing Python Programs as Graphs for Machine Learningcited by 4
- 2022MIXCODE: Enhancing Code Classification by Mixup-Based Data Augmentationcited by 4
- 2021Self-Supervised Learning to Prove Equivalence Between Straight-Line Programs via Rewrite Rulescited by 3
- 2022AdaptivePaste: Code Adaptation through Learning Semantics-aware Variable Usage Representationscited by 3
- 2022Using Developer Discussions to Guide Fixing Bugs in Softwarecited by 3
- 2023Language Models are Better Bug Detector Through Code-Pair Classificationcited by 3
- 2023Can LLMs Patch Security Issues?cited by 3
- 2024LecPrompt: A Prompt-based Approach for Logical Error Correction with CodeBERTcited by 3
- 2026AscendOptimizer: Episodic Agent for Ascend NPU Operator Optimizationcited by 3
- 2022On the Effectiveness of Hybrid Pooling in Mixup-Based Graph Learning for Language Processingcited by 2
- 2024GenCode: A Generic Data Augmentation Framework for Boosting Deep Learning-Based Code Understandingcited by 2
- 2024PDC & DM-SFT: A Road for LLM SQL Bug-Fix Enhancingcited by 2
- 2025Semantic-Preserving Transformations as Mutation Operators: A Study on Their Effectiveness in Defect Detectioncited by 2
- 2022LAMNER: Code Comment Generation Using Character Language Model and Named Entity Recognitioncited by 1
- 2025Auto-SPT: Automating Semantic Preserving Transformations for Codecited by 1
- 2026SynthFix: Adaptive Neuro-Symbolic Code Vulnerability Repaircited by 1
- 2026Multi-task LLMs for Bug Classification: Efficient Inference with Auxiliary Decoding Headscited by 1
- 2026Anchored Self-Play for Code Repaircited by 1
- 2021SINGA-Easy: An Easy-to-Use Framework for MultiModal Analysiscited by 0
- 2021VisualTextRank: Unsupervised Graph-based Content Extraction for Automating Ad Text to Image Searchcited by 0
- 2021Text is NOT Enough: Integrating Visual Impressions into Open-domain Dialogue Generationcited by 0
- 2022Discovering Personalized Semantics for Soft Attributes in Recommender Systems using Concept Activation Vectorscited by 0
- 2022Reinforced MOOCs Concept Recommendation in Heterogeneous Information Networkscited by 0
50 most cited of 59 All 59 (JSON)
- 2026Anchored Self-Play for Code Repair3 Jul 2026
- 2026JupOtter: Cell-Level Bug Detection in Jupyter Notebooks22 Jun 2026
- 2026Multi-task LLMs for Bug Classification: Efficient Inference with Auxiliary Decoding Heads8 Jun 2026
- 2026Socratic-SWE: Self-Evolving Coding Agents via Trace-Derived Agent Skills5 Jun 2026
- 2026Learning Generalizable Multimodal Representations for Software Vulnerability Detection28 Apr 2026
- 2026SynthFix: Adaptive Neuro-Symbolic Code Vulnerability Repair19 Apr 2026
- 2026AscendOptimizer: Episodic Agent for Ascend NPU Operator Optimization24 Mar 2026
- 2026Beyond Text-to-SQL: Can LLMs Really Debug Enterprise ETL SQL?26 Jan 2026
- 2025LLM-based Vulnerable Code Augmentation: Generate or Refactor?9 Dec 2025
- 2025Auto-SPT: Automating Semantic Preserving Transformations for Code5 Dec 2025
- 2025IFEvalCode: Controlled Code Generation30 Jul 2025
- 2025Are Large Language Models Robust in Understanding Code Against Semantics-Preserving Mutations?15 May 2025
38 more
- 2025Semantic-Preserving Transformations as Mutation Operators: A Study on Their Effectiveness in Defect Detection30 Mar 2025
- 2025RAGVA: Engineering Retrieval Augmented Generation-based Virtual Assistants in Practice20 Feb 2025
- 2024PDC & DM-SFT: A Road for LLM SQL Bug-Fix Enhancing11 Nov 2024
- 2024MdEval: Massively Multilingual Code Debugging4 Nov 2024
- 2024LecPrompt: A Prompt-based Approach for Logical Error Correction with CodeBERT10 Oct 2024
- 2024Mitigating Data Imbalance for Software Vulnerability Assessment: Does Data Augmentation Help?15 Jul 2024
- 2024GenCode: A Generic Data Augmentation Framework for Boosting Deep Learning-Based Code Understanding24 Feb 2024
- 2024DeepCode AI Fix: Fixing Security Vulnerabilities with Large Language Models19 Feb 2024
- 2024Evaluating LLMs' Mathematical and Coding Competency through Ontology-guided Interventions17 Jan 2024
- 2023Language Models are Better Bug Detector Through Code-Pair Classification14 Nov 2023
- 2023Can LLMs Patch Security Issues?13 Nov 2023
- 2023Learning Defect Prediction from Unrealistic Data2 Nov 2023
- 2023RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repair12 Sep 2023
- 2023Graph Neural Networks For Mapping Variables Between Programs -- Extended Version24 Jul 2023
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Review4 Jul 2023
- 2023Multi-target Backdoor Attacks for Code Pre-trained Models14 Jun 2023
- 2023Large Language Models of Code Fail at Completing Code with Potential Bugs6 Jun 2023
- 2023ITER: Iterative Neural Repair for Multi-Location Patches24 Apr 2023
- 2023RunBugRun -- An Executable Dataset for Automated Program Repair3 Apr 2023
- 2023Tribe or Not? Critical Inspection of Group Differences Using TribalGram16 Mar 2023
- 2023Boosting Source Code Learning with Text-Oriented Data Augmentation: An Empirical Study13 Mar 2023
- 2023An Empirical Evaluation of Using Large Language Models for Automated Unit Test Generation13 Feb 2023
- 2023CodeBERTScore: Evaluating Code Generation with Pretrained Models of Code10 Feb 2023
- 2022Improving Automated Program Repair with Domain Adaptation21 Dec 2022
- 2022Detect-Localize-Repair: A Unified Framework for Learning to Debug with CodeT527 Nov 2022
- 2022Using Developer Discussions to Guide Fixing Bugs in Software11 Nov 2022
- 2022On the Effectiveness of Hybrid Pooling in Mixup-Based Graph Learning for Language Processing6 Oct 2022
- 2022MIXCODE: Enhancing Code Classification by Mixup-Based Data Augmentation6 Oct 2022
- 2022A Library for Representing Python Programs as Graphs for Machine Learning15 Aug 2022
- 2022Using Graph Neural Networks for Program Termination28 Jul 2022
- 2022Can we learn from developer mistakes? Learning to localize and repair real bugs from real bug fixes1 Jul 2022
- 2022AdaptivePaste: Code Adaptation through Learning Semantics-aware Variable Usage Representations23 May 2022
- 2022Explanation-Guided Fairness Testing through Genetic Algorithm16 May 2022
- 2022A Survey of Deep Learning Models for Structural Code Understanding3 May 2022
- 2022On Distribution Shift in Learning-based Bug Detectors21 Apr 2022
- 2022Example-based Synthesis of Static Analysis Rules19 Apr 2022
- 2022Fix Bugs with Transformer through a Neural-Symbolic Edit Grammar13 Apr 2022
- 2022LAMNER: Code Comment Generation Using Character Language Model and Named Entity Recognition5 Apr 2022
50 newest of 59 All 59 (JSON)
- 2023Multi-target Backdoor Attacks for Code Pre-trained Modelscited by 23
- 2023Multi-target Backdoor Attacks for Code Pre-trained Models14 Jun 2023
- 2026Anchored Self-Play for Code Repaircited by 1
- 2026Anchored Self-Play for Code Repair3 Jul 2026
- 2023An Empirical Evaluation of Using Large Language Models for Automated Unit Test Generationcited by 194
- 2023CodeBERTScore: Evaluating Code Generation with Pretrained Models of Codecited by 102
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Reviewcited by 32
- 2023Large Language Models of Code Fail at Completing Code with Potential Bugscited by 29
- 2021Towards Learning (Dis)-Similarity of Source Code from Program Contrastscited by 17
- 2023ITER: Iterative Neural Repair for Multi-Location Patchescited by 16
- 2024MdEval: Massively Multilingual Code Debuggingcited by 16
- 2022On Distribution Shift in Learning-based Bug Detectorscited by 15
- 2022HEAT: Hyperedge Attention Networkscited by 13
- 2022Static Prediction of Runtime Errors by Learning to Execute Programs with External Resource Descriptionscited by 11
- 2023RunBugRun -- An Executable Dataset for Automated Program Repaircited by 11
- 2022Detect-Localize-Repair: A Unified Framework for Learning to Debug with CodeT5cited by 10
12 most cited of 53 All 53 (JSON)
- 2026JupOtter: Cell-Level Bug Detection in Jupyter Notebooks22 Jun 2026
- 2026Multi-task LLMs for Bug Classification: Efficient Inference with Auxiliary Decoding Heads8 Jun 2026
- 2026Learning Generalizable Multimodal Representations for Software Vulnerability Detection28 Apr 2026
- 2026SynthFix: Adaptive Neuro-Symbolic Code Vulnerability Repair19 Apr 2026
- 2026AscendOptimizer: Episodic Agent for Ascend NPU Operator Optimization24 Mar 2026
- 2026Beyond Text-to-SQL: Can LLMs Really Debug Enterprise ETL SQL?26 Jan 2026
- 2025LLM-based Vulnerable Code Augmentation: Generate or Refactor?9 Dec 2025
- 2025Auto-SPT: Automating Semantic Preserving Transformations for Code5 Dec 2025
- 2025IFEvalCode: Controlled Code Generation30 Jul 2025
- 2025Are Large Language Models Robust in Understanding Code Against Semantics-Preserving Mutations?15 May 2025
- 2025Semantic-Preserving Transformations as Mutation Operators: A Study on Their Effectiveness in Defect Detection30 Mar 2025
- 2024PDC & DM-SFT: A Road for LLM SQL Bug-Fix Enhancing11 Nov 2024
12 newest of 53 All 53 (JSON)