Copiloting the Copilots: Fusing Large Language Models with Completion Engines for Automated Program Repair
Not on the map. Why?
Abstract (arXiv)
During Automated Program Repair (APR), it can be challenging to synthesize correct patches for real-world systems in general-purpose programming languages. Recent Large Language Models (LLMs) have been shown to be helpful "copilots" in assisting developers with various coding tasks, and have also been directly applied for patch synthesis. However, most LLMs treat programs as sequences of tokens, meaning that they are ignorant of the underlying semantics constraints of the target programming language. This results in plenty of statically invalid generated patches, impeding the practicality of the technique. Therefore, we propose Repilot, a general code generation framework to further copilot the AI "copilots" (i.e., LLMs) by synthesizing more valid patches during the repair process. Our key insight is that many LLMs produce outputs autoregressively (i.e., token by token), resembling human writing programs, which can be significantly boosted and guided through a Completion Engine. Repilot synergistically synthesizes a candidate patch through the interaction between an LLM and a Completion Engine, which 1) prunes away infeasible tokens suggested by the LLM and 2) proactively completes the token based on the suggestions provided by the Completion Engine. Our evaluation on a subset of the widely-used Defects4j 1.2 and 2.0 datasets shows that Repilot outperforms state-of-the-art techniques by fixing 27% and 47% more bugs, respectively. Moreover, Repilot produces more valid and correct patches than the base LLM with the same budget. While we focus on leveraging Repilot for APR in this work, the overall approach is also generalizable to other code generation tasks.
Key facts. Cited by 55 papers in the map (data through 7 Oct 2026). Builds on 43 of its 77 references that are in the map. First posted on arXiv 1 Sep 2023.
Builds on
43 of 77 references.
References · 43
- 2017Attention Is All You Needcited by 59,932
- 2018BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingcited by 40,204
- 2020Language Models are Few-Shot Learnerscited by 32,199
- 2021Evaluating Large Language Models Trained on Codecited by 8,053
- 2021Program Synthesis with Large Language Modelscited by 3,509
- 2014Sequence to Sequence Learning with Neural Networkscited by 2,974
- 2015Neural Machine Translation of Rare Words with Subword Unitscited by 2,898
- 2019The Curious Case of Neural Text Degenerationcited by 2,881
- 2019XLNet: Generalized Autoregressive Pretraining for Language Understandingcited by 2,801
- 2022Competition-Level Code Generation with AlphaCodecited by 1,427
- 2023Is Your Code Generated by ChatGPT Really Correct? Rigorous Evaluation of Large Language Models for Code Generationcited by 1,332
- 2020CodeBERT: A Pre-Trained Model for Programming and Natural Languagescited by 1,286
31 more
- 2021CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generationcited by 890
- 2022CodeGen: An Open Large Language Model for Code with Multi-Turn Program Synthesiscited by 876
- 2019CodeSearchNet Challenge: Evaluating the State of Semantic Code Searchcited by 638
- 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 600
- 2022InCoder: A Generative Model for Code Infilling and Synthesiscited by 492
- 2021Unified Pre-training for Program Understanding and Generationcited by 361
- 2022A Systematic Evaluation of Large Language Models of Codecited by 360
- 2023CodeT5+: Open Code Large Language Models for Code Understanding and Generationcited by 327
- 2022Grounded Copilot: How Programmers Interact with Code-Generating Modelscited by 216
- 2022Synchromesh: Reliable code generation from pre-trained language modelscited by 156
- 2018SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repaircited by 144
- 2022Practical Program Repair in the Era of Large Pre-trained Language Modelscited by 133
- 2023Keep the Conversation Going: Fixing 162 out of 337 bugs for 0.42 each using ChatGPTcited by 125
- 2023CodeGen2: Lessons for Training LLMs on Programming and Natural Languagescited by 124
- 2023An Analysis of the Automatic Bug Fixing Performance of ChatGPTcited by 108
- 2018An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translationcited by 106
- 2022Large Language Models are Zero-Shot Fuzzers: Fuzzing Deep-Learning Libraries via Large Language Modelscited by 102
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
- 2022Less Training, More Repairing Please: Revisiting Automated Program Repair via Zero-shot Learningcited by 76
- 2022Repair Is Nearly Generation: Multilingual Program Repair with LLMscited by 68
- 2019TBar: Revisiting Template-based Automated Program Repaircited by 64
- 2021A Syntax-Guided Edit Decoder for Neural Program Repaircited by 57
- 2021Neural Program Repair with Execution-based Backpropagationcited by 50
- 2023Conversational Automated Program Repaircited by 41
- 2023A study on Prompt Design, Advantages and Limitations of ChatGPT for Deep Learning Program Repaircited by 26
- 2018FixMiner: Mining Relevant Fix Patterns for Automated Program Repaircited by 22
- 2018Practical Program Repair via Bytecode Mutationcited by 19
- 2021Extracting Concise Bug-Fixing Patches from Human-Written Patches in Version Control Systemscited by 9
- 2014Automatic Repair of Buggy If Conditions and Missing Preconditions with SMTcited by 7
- 2018Automatic Repair of Real Bugs in Java: A Large-Scale Experiment on the Defects4J Datasetcited by 7
- 2023Revisiting the Plastic Surgery Hypothesis via Large Language Modelscited by 7
Built on by
Citing papers per year: 2023: 5; 2024: 29; 2025: 14; 2026: 7.
55 papers.
Sort:
By area:
- 2023Magicoder: Empowering Code Generation with OSS-Instructcited by 251
- 2025SWE-RL: Advancing LLM Reasoning via Reinforcement Learning on Open Software Evolutioncited by 246
- 2024When LLMs Meet Cybersecurity: A Systematic Literature Reviewcited by 70
- 2024SynCode: LLM Generation with Grammar Augmentationcited by 66
- 2024SelfCodeAlign: Self-Alignment for Code Generationcited by 61
- 2024Agents in Software Engineering: Survey, Landscape, and Visioncited by 60
- 2025OpenCodeInstruct: A Large-scale Instruction Tuning Dataset for Code LLMscited by 57
- 2023RepairLLaMA: Efficient Representations and Fine-Tuned Adapters for Program Repaircited by 50
- 2023Can It Edit? Evaluating the Ability of Large Language Models to Follow Code Editing Instructionscited by 46
- 2024Reasoning Runtime Behavior of a Program with LLM: How Far Are We?cited by 44
- 2024Can Large Language Models Understand Symbolic Graphics Programs?cited by 32
- 2025Type-Constrained Code Generation with Language Modelscited by 32
38 more
- 2024IterGen: Iterative Semantic-aware Structured LLM Generation with Backtrackingcited by 28
- 2024How secure is AI-generated Code: A Large-Scale Comparison of Large Language Modelscited by 23
- 2024LLMDFA: Analyzing Dataflow in Code with Large Language Modelscited by 22
- 2024Towards Neural Synthesis for SMT-Assisted Proof-Oriented Programmingcited by 19
- 2024NaturalCodeBench: Examining Coding Performance Mismatch on HumanEval and Natural User Promptscited by 19
- 2025WLB-LLM: Workload-Balanced 4D Parallelism for Large Language Model Trainingcited by 17
- 2024RePair: Automated Program Repair with Process-based Feedbackcited by 16
- 2023Can Language Models Employ the Socratic Method? Experiments with Code Debuggingcited by 14
- 2024LiCoEval: Evaluating LLMs on License Compliance in Code Generationcited by 13
- 2024Aligning the Objective of LLM-based Program Repaircited by 12
- 2024CTINexus: Automatic Cyber Threat Intelligence Knowledge Graph Construction Using Large Language Modelscited by 12
- 2024Studying LLM Performance on Closed- and Open-source Datacited by 11
- 2024RepoMasterEval: Evaluating Code Completion via Real-World Repositoriescited by 10
- 2025Rethinking the Evaluation of Secure Code Generationcited by 10
- 2024Statically Contextualizing Large Language Models with Typed Holescited by 9
- 2024A Survey on Failure Analysis and Fault Injection in AI Systemscited by 7
- 2024TransAgent: Enhancing LLM-Based Code Translation via Fine-Grained Execution Alignmentcited by 7
- 2024XMainframe: A Large Language Model for Mainframe Modernizationcited by 6
- 2024Memory-Efficient Large Language Models for Program Repair with Semantic-Guided Patch Generationcited by 5
- 2025Generative AI for Self-Adaptive Systems: State of the Art and Research Roadmapcited by 5
- 2023ConDefects: A New Dataset to Address the Data Leakage Concern for LLM-based Fault Localization and Program Repaircited by 4
- 2024Research and application of artificial intelligence based webshell detection model: A literature reviewcited by 4
- 2024Integrating Various Software Artifacts for Better LLM-based Bug Localization and Program Repaircited by 4
- 2024Enhancing AI-based Generation of Software Exploits with Contextual Informationcited by 3
- 2024RealVul: Can We Detect Vulnerabilities in Web Applications with LLM?cited by 3
- 2024Survey of User Interface Design and Interaction Techniques in Generative AI Applicationscited by 3
- 2025Unlocking LLM Repair Capabilities Through Cross-Language Translation and Multi-Agent Refinementcited by 3
- 2024Large Language Models are Few-shot Generators: Proposing Hybrid Prompt Algorithm To Generate Webshell Escape Samplescited by 2
- 2025Can LLMs Generate User Stories and Assess Their Quality?cited by 2
- 2025Do AI models help produce verified bug fixes?cited by 2
- 2025An Empirically-grounded tool for Automatic Prompt Linting and Repair: A Case Study on Bias, Vulnerability, and Optimization in Developer Promptscited by 1
- 2025DR.FIX: Automatically Fixing Data Races at Industry Scalecited by 1
- 2026Autoregressive, Yet Revisable: In Decoding Revision for Secure Code Generationcited by 1
- 2026Precise Debugging Benchmark: Is Your Model Debugging or Regenerating?cited by 1
- 2026Verifier-Guided Code Translation via Meta-Step Decodingcited by 1
- 2024Selection of Prompt Engineering Techniques for Code Generation through Predicting Code Complexitycited by 0
- 2025Large Language Models in Cybersecurity: Applications, Vulnerabilities, and Defense Techniquescited by 0
- 2025Position: Vibe Coding Needs Vibe Reasoning: Improving Vibe Coding with Formal Verificationcited by 0
50 most cited of 55 All 55 (JSON)
- 2026FlashCP: Load-Balanced Communication-Efficient Context Parallelism for LLM Training7 Jun 2026
- 2026Verifier-Guided Code Translation via Meta-Step Decoding17 May 2026
- 2026Precise Debugging Benchmark: Is Your Model Debugging or Regenerating?19 Apr 2026
- 2026From Guessing to Placeholding: A Cost-Theoretic Framework for Uncertainty-Aware Code Completion2 Apr 2026
- 2026Autoregressive, Yet Revisable: In Decoding Revision for Secure Code Generation1 Feb 2026
- 2026A Causal Perspective for Enhancing Jailbreak Attack and Defense31 Jan 2026
- 2026The New Compiler Stack: A Survey on the Synergy of LLMs and Compilers5 Jan 2026
- 2025Generative AI for Self-Adaptive Systems: State of the Art and Research Roadmap4 Dec 2025
- 2025An Interdisciplinary and Cross-Task Review on Missing Data Imputation3 Nov 2025
- 2025Position: Vibe Coding Needs Vibe Reasoning: Improving Vibe Coding with Formal Verification31 Oct 2025
- 2025Do AI models help produce verified bug fixes?21 Jul 2025
- 2025Can LLMs Generate User Stories and Assess Their Quality?20 Jul 2025
38 more
- 2025Large Language Models in Cybersecurity: Applications, Vulnerabilities, and Defense Techniques18 Jul 2025
- 2025DR.FIX: Automatically Fixing Data Races at Industry Scale22 Apr 2025
- 2025Type-Constrained Code Generation with Language Models12 Apr 2025
- 2025OpenCodeInstruct: A Large-scale Instruction Tuning Dataset for Code LLMs5 Apr 2025
- 2025Unlocking LLM Repair Capabilities Through Cross-Language Translation and Multi-Agent Refinement28 Mar 2025
- 2025WLB-LLM: Workload-Balanced 4D Parallelism for Large Language Model Training23 Mar 2025
- 2025Rethinking the Evaluation of Secure Code Generation18 Mar 2025
- 2025SWE-RL: Advancing LLM Reasoning via Reinforcement Learning on Open Software Evolution25 Feb 2025
- 2025An Empirically-grounded tool for Automatic Prompt Linting and Repair: A Case Study on Bias, Vulnerability, and Optimization in Developer Prompts21 Jan 2025
- 2024Integrating Various Software Artifacts for Better LLM-based Bug Localization and Program Repair5 Dec 2024
- 2024SelfCodeAlign: Self-Alignment for Code Generation31 Oct 2024
- 2024Survey of User Interface Design and Interaction Techniques in Generative AI Applications28 Oct 2024
- 2024CTINexus: Automatic Cyber Threat Intelligence Knowledge Graph Construction Using Large Language Models28 Oct 2024
- 2024Memory-Efficient Large Language Models for Program Repair with Semantic-Guided Patch Generation22 Oct 2024
- 2024RealVul: Can We Detect Vulnerabilities in Web Applications with LLM?10 Oct 2024
- 2024IterGen: Iterative Semantic-aware Structured LLM Generation with Backtracking9 Oct 2024
- 2024TransAgent: Enhancing LLM-Based Code Translation via Fine-Grained Execution Alignment30 Sep 2024
- 2024Selection of Prompt Engineering Techniques for Code Generation through Predicting Code Complexity24 Sep 2024
- 2024Agents in Software Engineering: Survey, Landscape, and Vision13 Sep 2024
- 2024Statically Contextualizing Large Language Models with Typed Holes2 Sep 2024
- 2024RePair: Automated Program Repair with Process-based Feedback21 Aug 2024
- 2024Can Large Language Models Understand Symbolic Graphics Programs?15 Aug 2024
- 2024RepoMasterEval: Evaluating Code Completion via Real-World Repositories7 Aug 2024
- 2024XMainframe: A Large Language Model for Mainframe Modernization5 Aug 2024
- 2024LiCoEval: Evaluating LLMs on License Compliance in Code Generation5 Aug 2024
- 2024Enhancing AI-based Generation of Software Exploits with Contextual Information5 Aug 2024
- 2024A Survey on Failure Analysis and Fault Injection in AI Systems28 Jun 2024
- 2024NaturalCodeBench: Examining Coding Performance Mismatch on HumanEval and Natural User Prompts7 May 2024
- 2024When LLMs Meet Cybersecurity: A Systematic Literature Review6 May 2024
- 2024Towards Neural Synthesis for SMT-Assisted Proof-Oriented Programming3 May 2024
- 2024How secure is AI-generated Code: A Large-Scale Comparison of Large Language Models29 Apr 2024
- 2024Research and application of artificial intelligence based webshell detection model: A literature review28 Apr 2024
- 2024Aligning the Objective of LLM-based Program Repair13 Apr 2024
- 2024Reasoning Runtime Behavior of a Program with LLM: How Far Are We?25 Mar 2024
- 2024SynCode: LLM Generation with Grammar Augmentation3 Mar 2024
- 2024Studying LLM Performance on Closed- and Open-source Data23 Feb 2024
- 2024LLMDFA: Analyzing Dataflow in Code with Large Language Models16 Feb 2024
- 2024Large Language Models are Few-shot Generators: Proposing Hybrid Prompt Algorithm To Generate Webshell Escape Samples12 Feb 2024
50 newest of 55 All 55 (JSON)
- 2025SWE-RL: Advancing LLM Reasoning via Reinforcement Learning on Open Software Evolutioncited by 246
- 2024Reasoning Runtime Behavior of a Program with LLM: How Far Are We?cited by 44
- 2026Verifier-Guided Code Translation via Meta-Step Decodingcited by 1
- 2025Position: Vibe Coding Needs Vibe Reasoning: Improving Vibe Coding with Formal Verificationcited by 0
- 2026Verifier-Guided Code Translation via Meta-Step Decoding17 May 2026
- 2025Position: Vibe Coding Needs Vibe Reasoning: Improving Vibe Coding with Formal Verification31 Oct 2025
- 2025SWE-RL: Advancing LLM Reasoning via Reinforcement Learning on Open Software Evolution25 Feb 2025
- 2024Reasoning Runtime Behavior of a Program with LLM: How Far Are We?25 Mar 2024
- 2024RePair: Automated Program Repair with Process-based Feedbackcited by 16
- 2024RePair: Automated Program Repair with Process-based Feedback21 Aug 2024
- 2023Magicoder: Empowering Code Generation with OSS-Instructcited by 251
- 2024When LLMs Meet Cybersecurity: A Systematic Literature Reviewcited by 70
- 2024SynCode: LLM Generation with Grammar Augmentationcited by 66
- 2024SelfCodeAlign: Self-Alignment for Code Generationcited by 61
- 2025OpenCodeInstruct: A Large-scale Instruction Tuning Dataset for Code LLMscited by 57
- 2023RepairLLaMA: Efficient Representations and Fine-Tuned Adapters for Program Repaircited by 50
- 2023Can It Edit? Evaluating the Ability of Large Language Models to Follow Code Editing Instructionscited by 46
- 2024Can Large Language Models Understand Symbolic Graphics Programs?cited by 32
- 2025Type-Constrained Code Generation with Language Modelscited by 32
- 2024IterGen: Iterative Semantic-aware Structured LLM Generation with Backtrackingcited by 28
- 2024How secure is AI-generated Code: A Large-Scale Comparison of Large Language Modelscited by 23
- 2024LLMDFA: Analyzing Dataflow in Code with Large Language Modelscited by 22
12 most cited of 47 All 47 (JSON)
- 2026FlashCP: Load-Balanced Communication-Efficient Context Parallelism for LLM Training7 Jun 2026
- 2026Precise Debugging Benchmark: Is Your Model Debugging or Regenerating?19 Apr 2026
- 2026From Guessing to Placeholding: A Cost-Theoretic Framework for Uncertainty-Aware Code Completion2 Apr 2026
- 2026Autoregressive, Yet Revisable: In Decoding Revision for Secure Code Generation1 Feb 2026
- 2026The New Compiler Stack: A Survey on the Synergy of LLMs and Compilers5 Jan 2026
- 2025Generative AI for Self-Adaptive Systems: State of the Art and Research Roadmap4 Dec 2025
- 2025An Interdisciplinary and Cross-Task Review on Missing Data Imputation3 Nov 2025
- 2025Do AI models help produce verified bug fixes?21 Jul 2025
- 2025Can LLMs Generate User Stories and Assess Their Quality?20 Jul 2025
- 2025Large Language Models in Cybersecurity: Applications, Vulnerabilities, and Defense Techniques18 Jul 2025
- 2025DR.FIX: Automatically Fixing Data Races at Industry Scale22 Apr 2025
- 2025Type-Constrained Code Generation with Language Models12 Apr 2025
12 newest of 47 All 47 (JSON)