NARRepair: Non-Autoregressive Code Generation Model for Automatic Program Repair
Not on the map. Why?
Abstract (arXiv)
With the advancement of deep learning techniques, the performance of Automatic Program Repair(APR) techniques has reached a new level. Previous deep learning-based APR techniques essentially modified program sentences in the Autoregressive(AR) manner, which predicts future values based on past values. Due to the manner of word-by-word generation, the AR-based APR technique has a huge time delay. This negative consequence overshadows the widespread adoption of APR techniques in real-life software development. To address the issue, we aim to apply the Non-Autoregressive(NAR) method to the APR task, which can output target code in a parallel manner to avoid huge inference delays. To effectively adapt the NAR manner for the APR task, we in this paper propose NARRepair, the first customized NAR code generation model for the APR task. The NARRepair features three major novelties, including 1) using repair actions to alleviate the over-correction issue, 2) extracting dependency information from AST to alleviate the issue of lacking inter-word dependency information, 3) employing two-stage decoding to alleviate the issue of lacking contextual information. We evaluated NARRepair on three widely used datasets in the APR community, and the results show that our technique can significantly improve the inference speed while maintaining high repair accuracy.
Key facts. No citing papers in the map yet (data through 7 Oct 2026). Builds on 41 of its 76 references that are in the map. First posted on arXiv 24 Jun 2024.
Builds on
41 of 76 references.
References · 41
- 2017Attention Is All You Needcited by 59,932
- 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,204
- 2014Adam: A Method for Stochastic Optimizationcited by 36,960
- 2023LLaMA: Open and Efficient Foundation Language Modelscited by 13,958
- 2019RoBERTa: A Robustly Optimized BERT Pretraining Approachcited by 13,266
- 2019fairseq: A Fast, Extensible Toolkit for Sequence Modelingcited by 1,486
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
- 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
- 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 600
- 2017Non-Autoregressive Neural Machine Translationcited by 457
- 2016Deep Biaffine Attention for Neural Dependency Parsingcited by 334
29 more
- 2014A Convolutional Neural Network for Modelling Sentencescited by 163
- 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 144
- 2019Insertion Transformer: Flexible Sequence Generation via Insertion Operationscited by 123
- 2020Glancing Transformer for Non-Autoregressive Neural Machine Translationcited by 103
- 2020Fully Non-autoregressive Neural Machine Translation: Tricks of the Tradecited by 99
- 2020Non-Autoregressive Machine Translation with Latent Alignmentscited by 96
- 2019FlowSeq: Non-Autoregressive Conditional Sequence Generation with Generative Flowcited by 89
- 2019TBar: Revisiting Template-based Automated Program Repaircited by 64
- 2019Latent-Variable Non-Autoregressive Neural Machine Translation with Deterministic Inference Using a Delta Posteriorcited by 58
- 2021A Syntax-Guided Edit Decoder for Neural Program Repaircited by 57
- 2021Neural Program Repair with Execution-based Backpropagationcited by 50
- 2018CODIT: Code Editing with Tree-Based Neural Modelscited by 40
- 2019Guiding Non-Autoregressive Neural Machine Translation Decoding with Reordering Informationcited by 37
- 2022SelfAPR: Self-supervised Program Repair with Test Execution Diagnosticscited by 33
- 2018Nopol: Automatic Repair of Conditional Statement Bugs in Java Programscited by 32
- 2019Hint-Based Training for Non-Autoregressive Machine Translationcited by 28
- 2017ARJA: Automated Repair of Java Programs via Multi-Objective Genetic Programmingcited by 26
- 2018FixMiner: Mining Relevant Fix Patterns for Automated Program Repaircited by 22
- 2018AVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violationscited by 22
- 2019Non-autoregressive Transformer by Position Learningcited by 17
- 2021Elixir: Effective object-oriented program repaircited by 16
- 2021Enriching Non-Autoregressive Transformer with Syntactic and SemanticStructures for Neural Machine Translationcited by 13
- 2019iFixR: Bug Report driven Program Repaircited by 11
- 2018How to Design a Program Repair Bot? Insights from the Repairnator Projectcited by 10
- 2017Mining Fix Patterns for FindBugs Violationscited by 9
- 2023Pre-training Code Representation with Semantic Flow Graph for Effective Bug Localizationcited by 8
- 2018Alleviating Patch Overfitting with Automatic Test Generation: A Study of Feasibility and Effectiveness for the Nopol Repair Systemcited by 7
- 2014Automated Fixing of Programs with Contractscited by 4
- 2019Learning the Relation between Code Features and Code Transforms with Structured Predictioncited by 2
Built on by
Not cited yet.