ARJA: Automated Repair of Java Programs via Multi-Objective Genetic Programming
Not on the map. Why?
Abstract (arXiv)
Recent empirical studies show that the performance of GenProg is not satisfactory, particularly for Java. In this paper, we propose ARJA, a new GP based repair approach for automated repair of Java programs. To be specific, we present a novel lower-granularity patch representation that properly decouples the search subspaces of likely-buggy locations, operation types and potential fix ingredients, enabling GP to explore the search space more effectively. Based on this new representation, we formulate automated program repair as a multi-objective search problem and use NSGA-II to look for simpler repairs. To reduce the computational effort and search space, we introduce a test filtering procedure that can speed up the fitness evaluation of GP and three types of rules that can be applied to avoid unnecessary manipulations of the code. Moreover, we also propose a type matching strategy that can create new potential fix ingredients by exploiting the syntactic patterns of the existing statements. We conduct a large-scale empirical evaluation of ARJA along with its variants on both seeded bugs and real-world bugs in comparison with several state-of-the-art repair approaches. Our results verify the effectiveness and efficiency of the search mechanisms employed in ARJA and also show its superiority over the other approaches. In particular, compared to jGenProg (an implementation of GenProg for Java), an ARJA version fully following the redundancy assumption can generate a test-suite adequate patch for more than twice the number of bugs (from 27 to 59), and a correct patch for nearly four times of the number (from 5 to 18), on 224 real-world bugs considered in Defects4J. Furthermore, ARJA is able to correctly fix several real multi-location bugs that are hard to be repaired by most of the existing repair approaches.
Key facts. Cited by 26 papers in the map (data through 7 Oct 2026). First posted on arXiv 21 Dec 2017.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 4; 2022: 2; 2023: 6; 2024: 8; 2025: 5; 2026: 1.
26 papers.
Sort:
By area:
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
- 2023RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repaircited by 43
- 2024Automatic Programming: Large Language Models and Beyondcited by 35
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Reviewcited by 32
- 2021Multi-Objectivizing Software Configuration Tuning (for a single performance concern)cited by 27
- 2024HDLdebugger: Streamlining HDL debugging with Large Language Modelscited by 25
- 2021MMO: Meta Multi-Objectivization for Software Configuration Tuningcited by 19
- 2023ITER: Iterative Neural Repair for Multi-Location Patchescited by 16
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repaircited by 13
- 2024Aligning the Objective of LLM-based Program Repaircited by 12
- 2023RunBugRun -- An Executable Dataset for Automated Program Repaircited by 10
- 2024Enhanced Automated Code Vulnerability Repair using Large Language Modelscited by 10
14 more
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarkscited by 7
- 2024TransAgent: Enhancing LLM-Based Code Translation via Fine-Grained Execution Alignmentcited by 7
- 2025The Art of Repair: Optimizing Iterative Program Repair with Instruction-Tuned Modelscited by 7
- 2025Repair-R1: Better Test Before Repaircited by 6
- 2023Out of Context: How important is Local Context in Neural Program Repair?cited by 5
- 2021Predicting Patch Correctness Based on the Similarity of Failing Test Casescited by 4
- 2025AuPair: Golden Example Pairs for Code Repaircited by 3
- 2022New Core-Guided and Hitting Set Algorithms for Multi-Objective Combinatorial Optimizationcited by 1
- 2024ParLS-PBO: A Parallel Local Search Solver for Pseudo Boolean Optimizationcited by 1
- 2025From Empirical Evaluation to Context-Aware Enhancement: Repairing Regression Errors with LLMscited by 1
- 2022Iterative Genetic Improvement: Scaling Stochastic Program Synthesiscited by 0
- 2024NARRepair: Non-Autoregressive Code Generation Model for Automatic Program Repaircited by 0
- 2025Self-Bootstrapping Automated Program Repair: Using LLMs to Generate and Evaluate Synthetic Training Data for Bug Repaircited by 0
- 2026AdaptAgent: A Multi-agent, Domain-Guided Reasoning Framework for Code Adaptationcited by 0
- 2026AdaptAgent: A Multi-agent, Domain-Guided Reasoning Framework for Code Adaptation5 Aug 2026
- 2025Repair-R1: Better Test Before Repair30 Jul 2025
- 2025From Empirical Evaluation to Context-Aware Enhancement: Repairing Regression Errors with LLMs16 Jun 2025
- 2025Self-Bootstrapping Automated Program Repair: Using LLMs to Generate and Evaluate Synthetic Training Data for Bug Repair12 May 2025
- 2025The Art of Repair: Optimizing Iterative Program Repair with Instruction-Tuned Models5 May 2025
- 2025AuPair: Golden Example Pairs for Code Repair12 Feb 2025
- 2024TransAgent: Enhancing LLM-Based Code Translation via Fine-Grained Execution Alignment30 Sep 2024
- 2024ParLS-PBO: A Parallel Local Search Solver for Pseudo Boolean Optimization31 Jul 2024
- 2024NARRepair: Non-Autoregressive Code Generation Model for Automatic Program Repair24 Jun 2024
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarks8 May 2024
- 2024Automatic Programming: Large Language Models and Beyond3 May 2024
- 2024Aligning the Objective of LLM-based Program Repair13 Apr 2024
14 more
- 2024HDLdebugger: Streamlining HDL debugging with Large Language Models18 Mar 2024
- 2024Enhanced Automated Code Vulnerability Repair using Large Language Models8 Jan 2024
- 2023Out of Context: How important is Local Context in Neural Program Repair?8 Dec 2023
- 2023RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repair12 Sep 2023
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Review4 Jul 2023
- 2023ITER: Iterative Neural Repair for Multi-Location Patches24 Apr 2023
- 2023RunBugRun -- An Executable Dataset for Automated Program Repair3 Apr 2023
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair3 Feb 2023
- 2022New Core-Guided and Hitting Set Algorithms for Multi-Objective Combinatorial Optimization22 Apr 2022
- 2022Iterative Genetic Improvement: Scaling Stochastic Program Synthesis26 Feb 2022
- 2021MMO: Meta Multi-Objectivization for Software Configuration Tuning14 Dec 2021
- 2021Predicting Patch Correctness Based on the Similarity of Failing Test Cases28 Jul 2021
- 2021Multi-Objectivizing Software Configuration Tuning (for a single performance concern)31 May 2021
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repair26 Feb 2021
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
- 2024Automatic Programming: Large Language Models and Beyondcited by 35
- 2023Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Reviewcited by 32
- 2021Multi-Objectivizing Software Configuration Tuning (for a single performance concern)cited by 27
- 2024HDLdebugger: Streamlining HDL debugging with Large Language Modelscited by 25
- 2021MMO: Meta Multi-Objectivization for Software Configuration Tuningcited by 19
- 2023ITER: Iterative Neural Repair for Multi-Location Patchescited by 16
- 2023KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repaircited by 13
- 2024Aligning the Objective of LLM-based Program Repaircited by 12
- 2023RunBugRun -- An Executable Dataset for Automated Program Repaircited by 10
- 2024Enhanced Automated Code Vulnerability Repair using Large Language Modelscited by 10
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarkscited by 7
12 most cited of 22 All 22 (JSON)
- 2025Repair-R1: Better Test Before Repair30 Jul 2025
- 2025From Empirical Evaluation to Context-Aware Enhancement: Repairing Regression Errors with LLMs16 Jun 2025
- 2025The Art of Repair: Optimizing Iterative Program Repair with Instruction-Tuned Models5 May 2025
- 2024TransAgent: Enhancing LLM-Based Code Translation via Fine-Grained Execution Alignment30 Sep 2024
- 2024ParLS-PBO: A Parallel Local Search Solver for Pseudo Boolean Optimization31 Jul 2024
- 2024NARRepair: Non-Autoregressive Code Generation Model for Automatic Program Repair24 Jun 2024
- 2024Automated Program Repair: Emerging trends pose and expose problems for benchmarks8 May 2024
- 2024Automatic Programming: Large Language Models and Beyond3 May 2024
- 2024Aligning the Objective of LLM-based Program Repair13 Apr 2024
- 2024HDLdebugger: Streamlining HDL debugging with Large Language Models18 Mar 2024
- 2024Enhanced Automated Code Vulnerability Repair using Large Language Models8 Jan 2024
- 2023Out of Context: How important is Local Context in Neural Program Repair?8 Dec 2023
12 newest of 22 All 22 (JSON)