mlsanityData to 7 Oct 2026

KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair

arXiv 2302.01857 ↗First posted 3 Feb 2023cs.SE cs.AIcited by 13

Not on the map. Why?

Abstract (arXiv)

Automated Program Repair (APR) improves software reliability by generating patches for a buggy program automatically. Recent APR techniques leverage deep learning (DL) to build models to learn to generate patches from existing patches and code corpora. While promising, DL-based APR techniques suffer from the abundant syntactically or semantically incorrect patches in the patch space. These patches often disobey the syntactic and semantic domain knowledge of source code and thus cannot be the correct patches to fix a bug. We propose a DL-based APR approach KNOD, which incorporates domain knowledge to guide patch generation in a direct and comprehensive way. KNOD has two major novelties, including (1) a novel three-stage tree decoder, which directly generates Abstract Syntax Trees of patched code according to the inherent tree structure, and (2) a novel domain-rule distillation, which leverages syntactic and semantic rules and teacher-student distributions to explicitly inject the domain knowledge into the decoding procedure during both the training and inference phases. We evaluate KNOD on three widely-used benchmarks. KNOD fixes 72 bugs on the Defects4J v1.2, 25 bugs on the QuixBugs, and 50 bugs on the additional Defects4J v2.0 benchmarks, outperforming all existing APR tools.

Key facts. Cited by 13 papers in the map (data through 7 Oct 2026). Builds on 40 of its 66 references that are in the map. First posted on arXiv 3 Feb 2023.

Builds on

40 of 66 references.

References · 40

  1. 2017Attention Is All You Needcited by 59,932
  2. 2021Evaluating Large Language Models Trained on Codecited by 8,053
  3. 2016Layer Normalizationcited by 5,579
  4. 2014Sequence to Sequence Learning with Neural Networkscited by 2,974
  5. 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
  6. 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
  7. 2015Pointer Networkscited by 882
  8. 2020A Generalization of Transformer Networks to Graphscited by 653
  9. 2017Convolutional Sequence to Sequence Learningcited by 550
  10. 2019Graph Transformer Networkscited by 520
  11. 2022InCoder: A Generative Model for Code Infilling and Synthesiscited by 492
  12. 2016Language to Logical Form with Neural Attentioncited by 158
28 more
  1. 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 144
  2. 2016Harnessing Deep Neural Networks with Logic Rulescited by 135
  3. 2018An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translationcited by 106
  4. 2017Abstract Syntax Networks for Code Generation and Semantic Parsingcited by 92
  5. 2018TRANX: A Transition-based Neural Abstract Syntax Parser for Semantic Parsing and Code Generationcited by 88
  6. 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
  7. 2016Latent Predictor Networks for Code Generationcited by 73
  8. 2019TBar: Revisiting Template-based Automated Program Repaircited by 64
  9. 2019TreeGen: A Tree-Based Transformer Architecture for Code Generationcited by 58
  10. 2021A Syntax-Guided Edit Decoder for Neural Program Repaircited by 57
  11. 2019On Learning Meaningful Code Changes via Neural Machine Translationcited by 50
  12. 2021Neural Program Repair with Execution-based Backpropagationcited by 50
  13. 2018CODIT: Code Editing with Tree-Based Neural Modelscited by 40
  14. 2021Neural Transfer Learning for Repairing Security Vulnerabilities in C Codecited by 36
  15. 2018Learning to Represent Editscited by 34
  16. 2022SelfAPR: Self-supervised Program Repair with Test Execution Diagnosticscited by 33
  17. 2018Nopol: Automatic Repair of Conditional Statement Bugs in Java Programscited by 32
  18. 2017ARJA: Automated Repair of Java Programs via Multi-Objective Genetic Programmingcited by 26
  19. 2019Learning to Fix Build Errors with Graph2Diff Neural Networkscited by 26
  20. 2018Practical Program Repair via Bytecode Mutationcited by 19
  21. 2018A Tree-based Decoder for Neural Machine Translationcited by 18
  22. 2021DeepDebug: Fixing Python Bugs Using Stack Traces, Backtranslation, and Code Skeletonscited by 17
  23. 2020On the Efficiency of Test Suite based Program Repair: A Systematic Assessment of 16 Automated Repair Systems for Java Programscited by 16
  24. 2021Learning Structural Edits via Incremental Tree Transformationscited by 16
  25. 2021Elixir: Effective object-oriented program repaircited by 16
  26. 2016Precise Condition Synthesis for Program Repaircited by 13
  27. 2019Harnessing Evolution for Multi-Hunk Program Repaircited by 12
  28. 2017Ultra-Large Repair Search Space with Automatically Mined Templates: the Cardumen Mode of Astorcited by 9

Built on by

Cited by year (2026 to 7 Oct)

Citing papers per year: 2023: 6; 2024: 3; 2025: 3; 2026: 1.

13 papers.

Sort:

By area: