We have collected a list of APR tools since 2008 in this repository. For each APR tool, we have attached the following metadata:
- Publication Title
- Publication Year
- Publication Venue
- Link
- Target Language
- Evaluated Dataset
- CCF Rank
We hope it could serve as a good reference point for APR researchers who would like to get a complete list of APR tools and newcomers who are interested in APR.
This project is licensed under the GNU GPLv3 LICENSE.
To contribute to this repository, you can follow these steps:
sudo apt update; sudo apt install python3-pyqt5
cd metadata_manager
conda env create -f env.yml
conda activate apr-tools
python main_json_generator.py
,
and then you will see the following Window:
First, paste the Bibtex data of the paper you want to add, and click "Start Parsing". Then, fill the corresponding fields (e.g., APR tool name, Specification) of the paper in the UI. Finally, click "Save As JSON" to add the paper metadata to the output directory (i.e., output/json_new
).
python main_json_parser.py
to update the Markdown Table of theREADME.md
file.
We will continue updating the repository to include the latest APR tools. Any contribution is very welcomed 😊!
The Excel version is available here.
The Markdown version is shown below.
This section lists existing surveys on APR (in APA style):
- Huang, K., Xu, Z., Yang, S., Sun, H., Li, X., Yan, Z., & Zhang, Y. (2024). Evolving Paradigms in Automated Program Repair: Taxonomy, Challenges, and Opportunities. ACM Computing Surveys, 57(2), 1-43.
- Zhang, Q., Fang, C., Ma, Y., Sun, W., & Chen, Z. (2023). A Survey of Learning-based Automated Program Repair. ACM Trans. Softw. Eng. Methodol., 33(2).
- Xiang Gao, Yannic Noller, & Abhik Roychoudhury (2022). Program Repair. CoRR, abs/2211.12787.
- Mamatha, T., Reddy, B., & Bindu, C. (2022). A Literature Review on Automated Code Repair. In Proceedings of the 2nd International Conference on Recent Trends in Machine Learning, IoT, Smart Cities and Applications (pp. 249–260).
- Jiang JJ, Chen JJ, Xiong YF. Survey of Automatic Program Repair Techniques. Journal of Software, 2021, 32(9): 2665-2690(in Chinese). (姜佳君, 陈俊洁, 熊英飞. 软件缺陷自动修复技术综述. 软件学报, 2021, 32(9): 2665-2690.)
- S. Amirhossein Mousavi, Donya Azizi Babani, & Francesco Flammini (2020). Obstacles in Fully Automatic Program Repair: A survey. CoRR, abs/2011.02714.
- Cao, H., Meng, Y., Shi, J., Li, L., Liao, T., & Zhao, C. (2020). A Survey on Automatic Bug Fixing. In 2020 6th International Symposium on System and Software Reliability (ISSSR) (pp. 122–131).
- Li B, He YP, Ma HT. Automatic Program Repair: Key Problems and Technologies. Journal of Software, 2019, 30(2): 244-265(in Chinese). (李斌, 贺也平, 马恒太. 程序自动修复:关键问题及技术. 软件学报, 2019, 30(2): 244-265.)
- Monperrus, M. (2018). Automatic software repair: a bibliography. ACM Computing Surveys (CSUR), 51(1), 1–24.
- Liu, Y., Zhang, L., & Zhang, Z. (2018). A Survey of Test Based Automatic Program Repair.. JSW, 13(8), 437–452.
- WANG Z, GAO J, CHEN X, FU HJ, FAN XY. Automated Program Repair Techniques: a Survey. Chinese Journal of Computers, 2018, 41(3): 23 (in Chinese). (王赞, 郜健, 陈翔, 傅浩杰, & 樊向宇. (2018). 自动程序修复方法研究述评. 计算机学报, 41(3), 23.)
- Monperrus, M. (2018). The living review on automated program repair. (Doctoral dissertation, HAL Archives Ouvertes).
- Gazzola, L., Micucci, D., & Mariani, L. (2017). Automatic software repair: A survey. IEEE Transactions on Software Engineering, 45(1), 34–67.
- Xuan JF, Ren ZL, Wang ZY, Xie XY, Jiang H. Progress on Approaches to Automatic Program Repair[J]. Ruan Jian Xue Bao/ Journal of Software, 2016, 27(4): 771-784. (玄跻峰, 任志磊, 王子元, 谢晓园, 江贺. 自动程序修复方法研究进展[J].软件学报,2016, 27(4): 771-784.)
Other insightful articles:
- Le Goues, C., Pradel, M., Roychoudhury, A., & Chandra, S. (2021). Automatic Program Repair. IEEE Software, 38(4), 22–27.
- Roychoudhury, A., & Xiong, Y. (2019). Automated program repair: a step towards software automation. Science China Information Sciences, 62(10), 200103.
- Goues, C., Pradel, M., & Roychoudhury, A. (2019). Automated program repair. Communications of the ACM, 62(12), 56–65.
- Alireza Khalilian, Ahmad Baraani-Dastjerdi, & Bahman Zamani (2018). Challenges of Debugging Software Errors for Automatic Program Repair. In Book title is required!.
- Kim, S., Le Goues, C., Pradel, M., & Roychoudhury, A. (2017). Automated program repair (dagstuhl seminar 17022). In Dagstuhl Reports.
- Alrajeh, D., Kramer, J., Russo, A., & Uchitel, S. (2015). Automated support for diagnosis and repair. Communications of the ACM, 58(2), 65–72.
- Monperrus, M. (2015). Introduction to Automatic Software Repair. Journal is required!.
- Harrold, M., Steinmann, F., Tip, F., & Zeller, A. (2013). Fault Prediction, Localization, and Repair (Dagstuhl Seminar 13061). In Dagstuhl Reports.
- Le Goues, C., Forrest, S., & Weimer, W. (2013). Current challenges in automatic software repair. Software quality journal, 21(3), 421–443.
- Harman, M. (2010). Automated patching techniques: the fix is in: technical perspective. Communications of the ACM, 53(5), 108–108.
Title | APR Tool Name | Year | Venue | Repo URL | Target Language | Used Dataset | CCF Rank | |
---|---|---|---|---|---|---|---|---|
1 | Template-Guided Program Repair in the Era of Large Language Models | NTR | 2025 | ICSE | https://sites.google.com/view/neuraltemplaterepair | ['Java'] | ['Defects4J', 'HumanEval-Java'] | A |
2 | {CREF:} An LLM-Based Conversational Software Repair Framework for Programming Tutors | Cref | 2024 | ISSTA | https://github.com/buaabarty/CREF | ['C++'] | ['TutorCode (1239 C++ defect codes)'] | A |
3 | {BRAFAR:} Bidirectional Refactoring, Alignment, Fault Localization, and Repair for Programming Assignments | BRAFAR | 2024 | ISSTA | https://github.com/LinnaX7/brafar-python | ['Python'] | [''] | A |
4 | Vulnerability Repair via Concolic Execution and Code Mutations | CrashRepair | 2024 | TOSEM | https://github.com/nus-apr/CrashRepair | ['C/C++'] | ['VulnLoc'] | A |
5 | Vision Transformer Inspired Automated Vulnerability Repair | VQM | 2024 | TOSEM | https://github.com/awsm-research/VQM | C, C++ | CVEfixes, Big-Vul | A |
6 | ThinkRepair: Self-Directed Automated Program Repair | ThinkRepair | 2024 | ISSTA | https://github.com/vinci-grape/ThinkRepair | ['Java'] | ['Defects4J', 'QuixBugs'] | A |
7 | Template-based Neural Program Repair | TENURE | 2024 | ICSE | https://github.com/mxx1219/TENURE | ['Java'] | ['Defects4J'] | A |
8 | T5APR: Empowering Automated Program Repair across Languages through Checkpoint Ensemble | T5APR | 2024 | JSS | https://github.com/h4iku/T5APR | ['Java', 'Python', 'C', 'JavaScript'] | ['Defects4J', 'Bears', 'QuixBugs', 'Codeflaws', 'ManyBugs', 'BugAID'] | B |
9 | Strider: Signal Value Transition-Guided Defect Repair for {HDL} Programming Assignments | Strider | 2024 | TCAD | https://github.com/hejy47/Strider | ['Verilog'] | [''] | A |
10 | SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering | SWE-agent | 2024 | arxiv | https://github.com/princeton-nlp/SWE-agent | ['Python'] | ['SWE-bench'] | other |
11 | Revisiting Evolutionary Program Repair via Code Language Model | ARJA-CLM | 2024 | arxiv | ['Java'] | ['Defects4J', ' APR-2024 competition benchmark'] | other | |
12 | RTL-Repair: Fast Symbolic Repair of Hardware Design Code | RTL-Repair | 2024 | ASPLOS | https://github.com/ekiwi/rtl-repair | ['Verilog'] | [''] | A |
13 | OpenDevin: An Open Platform for AI Software Developers as Generalist Agents | OpenDevin | 2024 | arxiv | https://github.com/OpenDevin/OpenDevin | ['Python'] | ['SWE-bench'] | other |
14 | One Size Does Not Fit All: Multi-granularity Patch Generation for Better Automated Program Repair | Mulpor | 2024 | ISSTA | https://zenodo.org/records/12660892 | ['Java'] | ['Defects4J', 'VulRD'] | A |
15 | MarsCode Agent: AI-native Automated Bug Fixing | MarsCode | 2024 | arxiv | - | ['Python'] | ['SWE-bench'] | other |
16 | MASAI: Modular Architecture for Software-engineering AI Agents | MASAI | 2024 | NeurIPS | https://github.com/masai-dev-agent/masai | ['Python'] | ['SWE-bench'] | other |
17 | MAGIS: LLM-Based Multi-Agent Framework for GitHub Issue Resolution | MAGIS | 2024 | arxiv | - | ['Python'] | ['SWE-bench'] | other |
18 | ITER: Iterative Neural Repair for Multi-Location Patches | ITER | 2024 | ICSE | https://github.com/ASSERT-KTH/ITER | ['Java'] | ['Defects4J'] | A |
19 | How to Understand Whole Software Repository? | RepoUnderstander | 2024 | arxiv | https://github.com/RepoUnderstander/RepoUnderstander | ['Python'] | ['SWE-bench'] | other |
20 | How Far Can We Go with Practical Function-Level Program Repair? | Srepair | 2024 | arxiv | https://github.com/GhabiX/Srepair | ['Java'] | ['Defects4J'] | other |
21 | Enhancing the Efficiency of Automated Program Repair via Greybox Analysis | Cresino | 2024 | ASE | https://github.com/UNIST-LOFT/GreyboxAPR | ['Java'] | ['Defects4J'] | A |
22 | Enhancing Automated Program Repair with Solution Design | DRCodePilot | 2024 | ASE | https://figshare.com/s/82ed8e86e88d3268b4c1 | ['Java'] | ['Flink', 'Solr'] | A |
23 | Enhanced Evolutionary Automated Program Repair by Finer-Granularity Ingredients and Better Search Algorithms | MicroRepair | 2024 | Internetware | https://github.com/liuxiu-1997/MicroRepair | ['Java'] | ['Defects4J'] | C |
24 | DeepCode AI Fix: Fixing Security Vulnerabilities with Large Language Models | DeepCode AI Fix | 2024 | arxiv | https://github.com/snyk/deepcode_ai_fix | ['JavaScript'] | ['self-constructed dataset from github'] | other |
25 | CodeR: Issue Resolving with Multi-Agent and Task Graphs | CodeR | 2024 | arxiv | https://github.com/NL2Code/CodeR | ['Python'] | ['SWE-bench'] | other |
26 | Benchmarking and Categorizing the Performance of Neural Program Repair Systems for Java | NPR4J (Repair Framework) | 2024 | TOSEM | https://github.com/kwz219/NPR4J | Java | Defects4J, QuixBugs, Bears | A |
27 | Automated Program Repair via Conversation: Fixing 162 out of 337 Bugs for $0.42 Each using ChatGPT | ChatRepair | 2024 | ISSTA | https://figshare.com/s/9796028cef4d7dbc08 | ['Java'] | ['Defects4J', ' QuixBugs', ' ConDefect'] | A |
28 | Automated Code Editing with Search-Generate-Modify | SARGAM | 2024 | arxiv | https://github.com/SarGAMTEAM/SarGAM.git | ['Java', 'Python'] | ['Defects4J', 'QuixBugs'] | Other |
29 | AutoCodeRover: Autonomous Program Improvement | AutoCodeRover | 2024 | ISSTA | https://github.com/nus-apr/auto-code-rover | ['Python'] | ['SWE-bench'] | other |
30 | Agentless: Demystifying LLM-based Software Engineering Agents | Agentless | 2024 | arxiv | https://github.com/OpenAutoCoder/Agentless | ['Python'] | ['SWE-bench'] | other |
31 | AIBugHunter: {A} Practical tool for predicting, classifying and repairing software vulnerabilities | AIBugHunter | 2024 | EMSE | [''] | [''] | B | |
32 | Tare: Type-aware neural program repair | Tare | 2023 | ICSE | https://doi.org/10.5281/zenodo.7029404 | ['Java', 'Python'] | ['Defects4J', 'QuixBugs'] | A |
33 | SeqTrans: Automatic Vulnerability Fix Via Sequence to Sequence Learning | SeqTrans | 2023 | TSE | https://github.com/chijianlei/SeqTrans | ['Java'] | ['Tufano’s dataset', ' Ponta’s datasets'] | A |
34 | RepairLLaMA: Efficient Representations and Fine-Tuned Adapters for Program Repair | RepairLLaMA | 2023 | arxiv | https://github.com/ASSERT-KTH/repairllama | ['Java'] | ['Defects4J', 'HumanEval-Java'] | Other |
35 | RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repair | Rap-Gen | 2023 | FSE | https://figshare.com/s/a4e95baee01bba14bf4b | ['Java', 'JavaScript'] | ['Defects4J', 'TFix', 'Code Refinement'] | A |
36 | Program Repair with Repeated Learning | Liana | 2023 | TSE | http://www4.comp.polyu.edu.hk/~csypei/download/LIANA-TSE.zip | ['Java'] | ['Defects4J', 'INTROCLASSJAVA', 'QUIXBUGS'] | A |
37 | Neural Transfer Learning for Repairing Security Vulnerabilities in {C} Code | VRepair | 2023 | TSE | https://github.com/SteveKommrusch/VRepair | C | Big-Vul, CVE-fixes | A |
38 | Majority Rule: better patching via Self-Consistency | Code-DaVinci-002 with S-C | 2023 | arxiv | https://doi.org/10.5281/zenodo.7968641 | ['Java'] | ['MODIT dataset'] | Other |
39 | MUFIN: Improving Neural Repair Models with Back-Translation | MUFIN | 2023 | arxiv | https://github.com/andre15silva/mufin | ['Java'] | ['Defects4J', 'QuixBugs'] | Other |
40 | MCRepair: Multi-Chunk Program Repair via Patch Optimization with Buggy Block | MCRepair | 2023 | SAC | https://github.com/kimjisung78/MCRepair | ['Java'] | ['Defects4J'] | Other |
41 | Katana: Dual Slicing-Based Context for Learning Bug Fixes | KATANA | 2023 | TOSEM | - | ['JavaScript'] | ['two separate datasets using our single and dual slicing techniques'] | A |
42 | KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair | KNOD | 2023 | ICSE | https://github.com/lin-tan/knod | ['Java', 'Python'] | ['Defects4J', 'QuixBugs'] | A |
43 | Gamma: Revisiting Template-Based Automated Program Repair Via Mask Prediction | Gamma | 2023 | ASE | https://github.com/iSEngLab/GAMMA | ['Java', 'Python'] | ['Defects4J', 'QuixBugs'] | A |
44 | GLAD: Neural Predicate Synthesis to Repair Omission Faults | GLAD | 2023 | ICSE-Companion(poster) | https://anonymous.4open.science/r/neural-pred-synth-4816/README.md | ['Java'] | ['Defects4J'] | A |
45 | Explainable Automated Debugging via Large Language Model-driven Scientific Debugging | AutoSD | 2023 | arxiv | - | ['Java', 'Python'] | ['Defects4J', 'BugsInPy'] | Other |
46 | Embedding Context as Code Dependencies for Neural Program Repair | GLANCE | 2023 | ICSR | https://github.com/neural-repair/glance | ['JavaScript'] | ['top 1100 open-source projects (based on GitHub stars) containing buggy commits from both frontend and backend JavaScript code'] | C |
47 | CorCA: An Automatic Program Repair Tool for Checking and Removing Effectively {C} Flaws | CorCA | 2023 | ICST | - | ['C'] | ['1075 programs from SARD and 7 real applications'] | C |
48 | Copiloting the Copilots: Fusing Large Language Models with Completion Engines for Automated Program Repair | Repilot | 2023 | FSE | https://github.com/ise-uiuc/Repilot | ['Java'] | ['Defects4J'] | A |
49 | Better Automatic Program Repair by Using Bug Reports and Tests Together | SBIR-SimFix | 2023 | ICSE | https://github.com/LASER-UMASS/SBIR-ReplicationPackage | ['Java'] | ['Defects4J'] | A |
50 | Automated repair of programs from large language models | CodeX-e | 2023 | ICSE | https://github.com/apr4codex/icse2023 | ['Java'] | ['Defects4J'] | A |
51 | Automated program repair from fuzzing perspective | SimAPR | 2023 | ISSTA | https://github.com/UNIST-LOFT/SimAPR | ['Java'] | ['Defects4J'] | A |
52 | Automated Program Repair Based on Code Review: How do Pre-trained Transformer Models Perform? | Fine-tuned CodeT5 | 2023 | arxiv | - | ['Java'] | ['Dataset by Tufano et al', 'Review4Repair Dataset'] | Other |
53 | VulRepair: a T5-based automated software vulnerability repair | VulRepair | 2022 | FSE | https://github.com/awsm-research/VulRepair | ['C', ' C++'] | ['CVEFixes dataset'] | A |
54 | Verifix: Verified Repair of Programming Assignments | Verifix | 2022 | TOSEM | https://github.com/zhiyufan/Verifix/tree/master | [''] | [''] | A |
55 | Trident: Controlling Side Effects in Automated Program Repair | Trident | 2022 | TSE | https://program-repair.s3-ap-southeast-1.amazonaws.com/trident-submission.zip | ['C'] | ['ManyBugs'] | A |
56 | TransplantFix: Graph Differencing-based Code Transplantation for Automated Program Repair | TransplantFix | 2022 | ASE | https://github.com/DehengYang/TransplantFix | ['Java'] | ['Defects4J'] | A |
57 | Towards JavaScript program repair with Generative Pre-trained Transformer (GPT-2) | fine-tuned GPT-2 model | 2022 | APR workshop | https://github.com/RGAI-USZ/APR22-JS-GPT | ['JavaScript'] | ['BugsJS'] | Other |
58 | Speeding up constraint-based program repair using a search-based technique | FAngelix | 2022 | IST | https://github.com/jyi/fangelix | ['C'] | ['50 buggy versions of 5 real-world subjects'] | B |
59 | SelfAPR: Self-supervised Program Repair with Test Execution Diagnostics | SelfAPR | 2022 | ASE | https://github.com/SophieHYe/SelfAPR | ['Java'] | ['Defects4J'] | A |
60 | Review4Repair: Code review aided automatic program repairing | Review4Repair | 2022 | IST | https://github.com/Review4Repair/Review4Repair | ['Java'] | ['Android dataset'] | B |
61 | Restore: Retrospective fault localization enhancing automated program repair | RESTORE | 2022 | TSE | - | ['Java'] | ['Defects4J'] | A |
62 | Random Search and Code Similarity-Based Automatic Program Repair | RSCSRepair | 2022 | Journal of Shanghai Jiaotong University (Science) | - | ['Java'] | ['Defects4J'] | Other |
63 | Quality of automated program repair on real-world defects | JaRFly/genprog4java | 2022 | TSE | https://github.com/squaresLab/genprog4java/ | ['Java'] | ['Defects4J'] | A |
64 | Program vulnerability repair via inductive inference | VulnFix | 2022 | ISSTA | https://github.com/yuntongzhang/vulnfix | ['C'] | ['VulnLoc benchmark'] | A |
65 | Patch It If You Can: Increasing the Efficiency of Patch Generation Using Context | EffiGenC | 2022 | Electronics(MDPI) | - | ['Java'] | ['Defects4J'] | Other |
66 | Neurosymbolic Repair for Low-Code Formula Languages | LaMirage | 2022 | OOPSLA | - | ['Low code (Excel/PowerFx)'] | ['a benchmark set of 200 Excel formulas and 100 PowerFx formulas (built by the authors)'] | A |
67 | Neural program repair with execution-based backpropagation | RewardRepair | 2022 | ICSE | https://github.com/SophieHYe/RewardRepair | ['Java'] | ['Defects4J', 'Bugs.jar', 'QuixBugs'] | A |
68 | Less training, more repairing please: revisiting automated program repair via zero-shot learning | AlphaRepair | 2022 | FSE | https://zenodo.org/record/6819444 | ['Java'] | ['Defects4J'] | A |
69 | Improving source-code representations to enhance search-based software repair | PREP-Prophet | 2022 | Proceedings of the Genetic and Evolutionary Computation Conference | https://github.com/amespi22/code_rewrite | ['C'] | ['the Codeflaws dataset', 'the DARPA Cyber Grand Challenge dataset (CGC)'] | C |
70 | Improving fault localization and program repair with deep semantic features and transferred knowledge | TRANSFER | 2022 | ICSE | https://github.com/mxx1219/TRANSFER | ['Java'] | ['Defects4J'] | A |
71 | Fix Bugs with Transformer through a Neural-Symbolic Edit Grammar | NSEdit | 2022 | ICLR workshop DL4C Program | - | ['Java'] | ['self-constructed dataset', 'CodeXGLUE benchmark', 'ETH Py150 dataset'] | A |
72 | Fault localization to detect co-change fixing locations | FixLocator-CURE | 2022 | FSE | https://github.com/fixlocatorresearch/fixlocatorresearch | ['Java'] | ['Defects4J'] | A |
73 | Example-based vulnerability detection and repair in java code | Seader | 2022 | ICPC | https://github.com/NiSE-Virginia-Tech/ying-ICPC-2022 | ['Java'] | ['86 real vulnerabilities from 10 Apache open-source projects', ' 100 widely used Apache open-source projects (API misuse)'] | B |
74 | DEAR: A Novel Deep Learning-based Approach for Automated Program Repair | DEAR | 2022 | ICSE | https://github.com/AutomatedProgramRepair-2021/dear-auto-fix | ['Java'] | ['Defects4J'] | A |
75 | Codit: Code editing with tree-based neural models | CODIT | 2022 | TSE | - | ['Java'] | ['Defects4J'] | A |
76 | CirFix: automatically repairing defects in hardware design code | CirFix | 2022 | ASPLOS | ['Verilog'] | [''] | A | |
77 | Can We Automatically Fix Bugs by Learning Edit Operations? | Hephaestus | 2022 | SANER | https://github.com/WM-SEMERU/hephaestus | ['Java'] | ['CodeXGlue'] | B |
78 | Can OpenAI's Codex Fix Bugs?: An evaluation on QuixBugs | Codex | 2022 | 2022 IEEE/ACM International Workshop on Automated Program Repair (APR) | https://sandbox.zenodo.org/record/934361 | ['Java', 'Python'] | ['QuixBugs (Both Java and Python)'] | Other |
79 | CIRCLE: continual repair across programming languages | Circle | 2022 | ISSTA | https://github.com/2022CIRCLE/CIRCLE | ['Java'] | ['Defects4J'] | A |
80 | VarFix: balancing edit expressiveness and search effectiveness in automated program repair | VarFix | 2021 | FSE | https://github.com/chupanw/varfix-supplement/commits/main (no content) | ['Java'] | ['IntroClassJava and Defects4J'] | A |
81 | TFix: Learning to Fix Coding Errors with a Text-to-Text Transformer | TFix | 2021 | ICML | https://github.com/eth-sri/TFix | ['JavaScript'] | ['a dataset of fixes for 52 error types detected by ESLint'] | A |
82 | Sosrepair: Expressive semantic search for real-world program repair | SOSRepair | 2021 | TSE | https://github.com/squaresLab/SOSRepair | ['C'] | ['subset of ManyBugs'] | A |
83 | Shipwright: A Human-in-the-Loop System for Dockerfile Repair | Shipwright | 2021 | ICSE-Companion | https://github.com/STAR-RG/shipwright | ['dockerfile'] | ['an extension of the binnacle dataset'] | A |
84 | Sequencer: Sequence-to-sequence learning for end-to-end program repair | SEQUENCER | 2021 | TSE | https://github.com/KTH/chai | ['Java'] | ['Defects4J'] | A |
85 | Self-supervised bug detection and repair | BUGLAB (PYBUGLAB) | 2021 | NeurIPS | - | ['Python'] | ['RANDOMBUGS', 'PYPIBUGS'] | A |
86 | SQLRepair: identifying and repairing mistakes in student-authored SQL queries | SQLRepair | 2021 | ICSE-SEET | https://github.com/kpresler/sqlrepair | ['SQL'] | ['a benchmark dataset of realistic SQL errors gathered from undergraduate computer science students'] | A |
87 | Refining Fitness Functions for Search-Based Program Repair | 2Phase | 2021 | APR workshop | - | ['Java'] | ['QuixBugs'] | Other |
88 | ReFixar: Multi-version Reasoning for Automated Repair of Regression Errors | ReFixar | 2021 | ISSRE | - | ['Java'] | ['51 real regression bugs'] | B |
89 | On Multi-Modal Learning of Editing Source Code | MODIT | 2021 | ASE | https://doi.org/10.5281/zenodo.7968641 | ['Java'] | ['Tufano et al. dataset'] | A |
90 | Multiplicative Weights Algorithms for Parallel Automated Software Repair | MWRepair | 2021 | IPDPS | - | ['Java'] | ['ManyBugs', 'units', 'Defects4J'] | B |
91 | Mining fix patterns for findbugs violations | findbugs-violation | 2021 | TSE | https://github.com/FixPattern/findbugs-violation | ['Java'] | ['Defects4J'] | A |
92 | Mining Event Logic Graph from Open Q&A Site for Automated Program Repair | APR-ELG | 2021 | QRS-C | - | ['Java'] | ['Defects4J'] | C |
93 | GrasP: Graph-to-Sequence Learning for Automated Program Repair | GrasP | 2021 | QRS-C | - | ['Java'] | ['Defects4J'] | C |
94 | GPURepair: Automated Repair of GPU Kernels | GPURepair | 2021 | VMCAI | - | ['CUDA', 'OpenCL'] | ['748 GPU kernels written in CUDA and OpenCL'] | B |
95 | Fix-Filter-Fix: Intuitively Connect Any Models for Effective Bug Fixing | Fix-Filter-Fix | 2021 | EMNLP | - | ['Java'] | ['BFP', 'CodRep'] | B |
96 | Elixir: Effective object-oriented program repair | ELIXIR | 2021 | ASE | - | ['Java'] | ['Defects4J'] | A |
97 | DeepDebug: Fixing Python Bugs Using Stack Traces, Backtranslation, and Code Skeletons | DeepDebug | 2021 | arxiv | - | ['Java'] | ['QuixBugs'] | Other |
98 | Cotext: Multi-task learning with code-text transformer | CoTexT | 2021 | 1st Workshop on Natural Language Processing for Programming (NLP4Prog 2021) | https://github.com/justinphan3110/CoTexT | ['Java'] | ['CodeXGlue'] | Other |
99 | Contract-based program repair without the contracts: An extended study | JAID-revise | 2021 | TSE | - | ['Java'] | ['Defects4J'] | A |
100 | Contract-based program repair without the contracts | JAID | 2021 | ASE | https://bitbucket.org/maxpei/jaid/ | ['Java'] | ['Defects4J'] | A |
101 | Concolic Program Repair | CPR | 2021 | PLDI | https://cpr-tool.github.io/ | ['C'] | ['SV-COMP benchmarks (software vulnerabilities and defects)'] | A |
102 | CURE: Code-aware neural machine translation for automatic program repair | CURE | 2021 | ICSE | https://github.com/lin-tan/CURE | ['Java'] | ['Defects4J', 'QuixBugs'] | A |
103 | CGenProg: Adaptation of cartesian genetic programming with migration and opposite guesses for automatic repair of software regression faults | CGenProg | 2021 | Expert Systems with Applications | https://github.com/akhalilian/CGenProg | ['Java'] | ['Code4Bench'] | C |
104 | Beyond Tests: Program Vulnerability Repair via Crash Constraint Extraction | ExtractFix | 2021 | TOSEM | https://extractfix.github.io | ['C'] | ['vulnerabilities from Manybugs', ' CVEs', " Google's OSS Fuzz framework"] | A |
105 | Automated Repair of Java Programs with Random Search via Code Similarity | RCSRepair | 2021 | QRS-Companion | - | ['Java'] | ['Defects4J'] | C |
106 | Automated Repair of Heap-Manipulating Programs Using Deductive Synthesis | Graph2Edit | 2021 | International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI) | https://github.com/neulab/incremental_tree_edit | ['C'] | ['a list of heap-manipulating programs written in a C-like language that'] | B |
107 | Applying CodeBERT for Automated Program Repair of Java Simple Bugs | fine-tuned CodeBERT | 2021 | MSR | https://github.com/EhsanMashhadi/MSR2021-ProgramRepair | ['Java'] | ['ManySStuBs4J'] | C |
108 | Application of seq2seq models on code correction | Pyramid encoder | 2021 | Frontiers in artificial intelligence | https://github.com/b19e93n/PLC-Pyramid | ['C'] | ['Juliet Test Suite for C/C++ (v1.2)'] | Other |
109 | Accelerating redundancy-based program repair via code representation learning and adaptive patch filtering | AccPR (integrate into SimFix) | 2021 | FSE | - | ['Java'] | ['Defects4J'] | A |
110 | A syntax-guided edit decoder for neural program repair | Recoder | 2021 | FSE | https://github.com/pkuzqh/Recoder | ['Java'] | ['Defects4J'] | A |
111 | A Software-Repair Robot Based on Continual Learning | R-HERO | 2021 | IEEE Software | https://github.com/repairnator/open-science-repairnator/ | ['Java'] | ['CodRep4', 'real-world CI dataset'] | Other |
112 | Toward Better Evolutionary Program Repair: An Integrated Approach | ARJA-e | 2020 | TOSEM | https://github.com/yyxhdy/arja/tree/arja-e | ['Java'] | ['Defects4J'] | A |
113 | Novelty search for automatic bug repair | NS-GenProg | 2020 | Proceedings of the 2020 Genetic and Evolutionary Computation Conference | - | ['C'] | ['ManyBugs'] | B |
114 | Modification Point Aware Test Prioritization and Sampling to Improve Patch Validation in Automatic Program Repair | MPPEngine | 2020 | Applied Sciences | https://github.com/yazhiniv/astor/tree/MPPEngine | ['Java'] | ['Defects4J'] | Other |
115 | Making Better Use of Repair Templates in Automated Program Repair: A Multi-Objective Approach | ARJA-p | 2020 | Evolution in Action: Past, Present and Future | - | ['Java'] | ['Defects4J'] | Other |
116 | Fixminer: Mining relevant fix patterns for automated program repair | FixMiner | 2020 | EMSE | https://github.com/SerVal-DTF/fixminer-core | ['Java'] | ['Defects4J'] | B |
117 | DLFix: Context-based Code Transformation Learning for Automated Program Repair | DLFix | 2020 | ICSE | https://github.com/ICSE-2019-AUTOFIX/ICSE-2019-AUTOFIX | ['Java'] | ['Defects4J'] | A |
118 | CoCoNuT: combining context-aware neural translation models using ensemble for program repair | CoCoNuT | 2020 | ISSTA | https://github.com/lin-tan/CoCoNut-Artifact | ['Java'] | ['Defects4J'] | A |
119 | Automatic repair of regular expressions | RFixer | 2020 | OOPSLA | https://github.com/rongpan/Rfixer | ['Java'] | ['the Automata Tutor dataset', 'the RegExLib library', 'the regular expression repair work by Rebele et al.'] | A |
120 | Automatic Program Repair of Java Single Bugs using Two-level Mutation Operators | MuJava-based tool | 2020 | IAENG International Journal of Computer Science | - | ['Java'] | ['Defects4J'] | Other |
121 | Automated Program-Semantic Defect Repair and False-Positive Elimination without Side Effects | DTSFix | 2020 | Symmetry | - | ['Java'] | ['Defectsj4J'] | Other |
122 | ARJA: Automated repair of java programs via multi-objective genetic programming | Arja | 2020 | TSE | https://github.com/yyxhdy/arja | ['Java'] | ['Defectsj4J'] | A |
123 | iFixR: bug report driven program repair | iFixR | 2019 | FSE | https://github.com/SerVal-DTF/iFixR | ['Java'] | ['Defects4J'] | A |
124 | You cannot fix what you cannot find! an investigation of fault localization bias in benchmarking automated program repair systems | kPAR | 2019 | ICST | https://github.com/SerVal-DTF/FL-VS-APR | ['Java'] | ['Defects4J'] | C |
125 | VFix: value-flow-guided precise program repair for null pointer dereferences | VFix | 2019 | ICSE | - | ['Java'] | ['Defects4J'] | A |
126 | TBar: revisiting template-based automated program repair | Tbar | 2019 | ISSTA | https://github.com/SerVal-DTF/Tbar | ['Java'] | ['Defects4J'] | A |
127 | Stryker: Scaling specification-based program repair by pruning infeasible mutants with sat | Stryker | 2019 | arxiv | - | ['Java'] | ['JML dataset'] | Other |
128 | Sorting and transforming program repair ingredients via deep learning code similarities | DeepRepair | 2019 | SANER | https://github.com/SpoonLabs/astor-experiments/ | ['Java'] | ['Defects4J'] | B |
129 | Re-factoring based Program Repair applied to Programming Assignments | Refactory | 2019 | ASE | https://github.com/githubhuyang/refactory | ['Python'] | ['1800 real-life incorrect Python program submissions from 361 students for an introductory programming course at a large public university'] | A |
130 | Program repair at arbitrary fault depth | RCFix | 2019 | ICST | - | ['Java'] | ['seeded faults of the Defects4J Math project'] | C |
131 | Practical program repair via bytecode mutation | PraPR | 2019 | ISSTA | https://github.com/prapr/prapr | ['Java'] | ['Defects4J'] | A |
132 | LoopFix: an approach to automatic repair of buggy loops | LoopFix | 2019 | JSS | - | ['Java'] | ['Defects4J'] | B |
133 | Leveraging program invariants to promote population diversity in search-based automatic program repair | [unnamed] invariant-based apr | 2019 | Workshop on Genetic Improvement (GI) | - | ['Java'] | ['IntroClassJava'] | Other |
134 | Inferring program transformations from singular examples via big code | GenPat | 2019 | ASE | https://github.com/xgdsmileboy/GenPat | ['Java'] | ['Defects4J'] | A |
135 | Improving the Efficiency of Search-Based Auto Program Repair by Adequate Modification Point | AdqFix | 2019 | International Conference on Ubiquitous Information Management and Communication | - | ['Java'] | ['Defects4J'] | Other |
136 | Harnessing evolution for multi-hunk program repair | HERCULES | 2019 | ICSE | - | ['Java'] | ['Defects4J'] | A |
137 | Encore: Ensemble learning using convolution neural machine translation for automatic program repair | ENCORE | 2019 | arxiv | - | ['Java'] | ['Defects4J'] | Other |
138 | Crash-avoiding program repair | Fix2Fit | 2019 | ISSTA | https://www.github.com/gaoxiang9430/fix2fit | ['C'] | [''] | C |
139 | Connecting program synthesis and reachability: Automatic program repair using test-input generation | CETI | 2019 | TACAS | - | ['C'] | ['Tcas program (41 seeded defects)'] | A |
140 | Better code search and reuse for better program repair | SharpFix | 2019 | 2019 IEEE/ACM International Workshop on Genetic Improvement (GI) | https://github.com/sharpFix18/sharpFix | ['Java'] | ['Defects4J'] | Other |
141 | Avatar: Fixing semantic bugs with fix patterns of static analysis violations | AVATAR | 2019 | SANER | https://github.com/SerVal-Repair/AVATAR | ['Java'] | ['Defects4J'] | B |
142 | Automatic patch generation with context-based change application | ConFix | 2019 | EMSE | https://github.com/thwak/ConFix | ['Java'] | ['Defects4J'] | B |
143 | kGenProg: A high-performance, high-extensibility and high-portability APR system | kGenProg | 2018 | APSEC | https://github.com/kusumotolab/kGenProg | ['Java'] | ['a simple faulty program'] | C |
144 | Ultra-large repair search space with automatically mined templates: The cardumen mode of astor | Cardumen | 2018 | International Symposium on Search Based Software Engineering | https://github.com/SpoonLabs/astor-experiments/ | ['Java'] | ['Defects4J'] | Other |
145 | Towards practical program repair with on-demand candidate generation | SketchFix | 2018 | ICSE | https://github.com/SketchFix/SketchFix | ['Java'] | ['Defects4J'] | A |
146 | The remarkable role of similarity in redundancy-based program repair | 3sfix | 2018 | arxiv | https://github.com/kth-tcs/3sFix-experiments | ['Java'] | ['Defects4J'] | Other |
147 | Static automated program repair for heap properties | FootPatch | 2018 | ICSE | https://github.com/squaresLab/footpatch | ['Java', 'C'] | ['8 C programs and 3 Java programs averaging 64 kLOC'] | A |
148 | Shaping program repair space with existing patches and similar code | SimFix | 2018 | ISSTA | https://github.com/xgdsmileboy/SimFix | ['Java'] | ['Defects4J'] | A |
149 | Semantic program repair using a reference implementation | SemGraft | 2018 | ICSE | - | ['C'] | ['embedded Linux Busybox with GNU Coreutils as reference (and vice-versa) revealed'] | A |
150 | Search, align, and repair: data-driven feedback generation for introductory programming exercises | SarfGen | 2018 | PLDI | [''] | [''] | A | |
151 | Repairing crashes in android apps | Droix | 2018 | ICSE | https://github.com/stan6/droixbench | ['Java'] | ['DroixBench'] | A |
152 | Nopol: Automatic repair of conditional statement bugs in java programs | Nopol | 2018 | TSE | https://github.com/SpoonLabs/nopol/ | ['Java'] | ['Defects4J'] | A |
153 | Mining stackoverflow for program repair | SOFix | 2018 | SANER | - | ['Java'] | ['Defects4J'] | B |
154 | Learning to Repair Software Vulnerabilities with Generative Adversarial Networks | GAN | 2018 | NIPS | ['C', ' C++'] | ['SATE IV'] | A | |
155 | LSRepair: Live search of fix ingredients for automated program repair | LSRepair | 2018 | APSEC | https://github.com/AutoProRepair/LSRepair | ['Java'] | ['Defects4J'] | C |
156 | Dynamic patch generation for null pointer exceptions using metaprogramming | DynaMoth | 2018 | SANER | https://github.com/SpoonLabs/nopol/ | ['Java'] | ['Defects4J'] | B |
157 | Context-aware patch generation for better automated program repair | CapGen | 2018 | ICSE | https://github.com/justinwm/CapGen | ['Java'] | ['Defects4J'] | A |
158 | Automatic data structure repair using separation logic | StarFix | 2018 | ACM SIGSOFT Software Engineering Notes | - | ['Java'] | ['manually create corrupted data structures by injecting errors into a correct data structure'] | Other |
159 | Automated program repair with canonical constraints | CSAR | 2018 | ICSE-companion | - | ['Java'] | ['IntroClassJava'] | A |
160 | Automated clustering and program repair for introductory programming assignments | Clara | 2018 | PLDI | https://github.com/iradicek/clara | ['Python'] | ['12973 correct and 4293 incorrect (total 17266) student attempts from an MITx MOOC (Python)'] | A |
161 | VuRLE: Automatic Vulnerability Detection and Repair by Learning from Examples | VuRLE | 2017 | European Symposium on Research in Computer Security | ['Java'] | ['279 vulnerabilities from 48 real-world applications'] | other | |
162 | Synergistic debug-repair of heap manipulations | Wolverine | 2017 | FSE | - | ['C'] | ['20 heap manipulating programs'] | A |
163 | S3: syntax-and semantic-guided repair synthesis via programming by examples | S3/JFix | 2017 | FSE | https://xuanbachle.github.io/semanticsrepair/ | ['Java'] | ['52 Java bugs in IntroclassJava', '100 large real-world Java bugs from 62 subject programs in GitHub'] | A |
164 | Precise condition synthesis for program repair | ACS | 2017 | ICSE | ttps://github.com/Adobee/ACS | ['Java'] | ['Defects4J'] | A |
165 | Leveraging syntax-related code for automated program repair | ssFix | 2017 | ASE | https://github.com/qixin5/ssFix | ['Java'] | ['Defects4J'] | A |
166 | Identifying test-suite-overfitted patches through test case generation | DiffTGen | 2017 | ISSTA | https://github.com/qixin5/DiffTGen | ['Java'] | ['Defects4J'] | A |
167 | Automatic inference of code transforms for patch generation | Genesis | 2017 | FSE | http://www.cs.toronto.edu/~fanl/program_repair/genesis-rep | ['Java'] | ['20 NP+13 OOB+16 CC defects from 41 open source applications'] | A |
168 | A feasibility study of using automated program repair for introductory programming assignments | ITSP | 2017 | FSE | [''] | [''] | A | |
169 | Towards efficient and effective automatic program repair | deductive-reasoning-based APR | 2016 | ASE | - | ['C'] | ['SIR benchmark that are seeded with bugs'] | A |
170 | Semi-supervised verified feedback generation | CoderAssist | 2016 | FSE | [''] | [''] | A | |
171 | History driven program repair | HDRepair | 2016 | SANER | https://github.com/xuanbachle/bugfixes | ['Java'] | ['Defects4J'] | B |
172 | Fixing deadlocks via lock pre-acquisitions | DFixer | 2016 | ICSE | http://lcs.ios.ac.cn/~yancai/dfixer | ['C', ' C++'] | ['C/C++ programs that contain 20 deadlocks'] | A |
173 | Bovinspector: automatic inspection and repair of buffer overflow vulnerabilities | Bovinspector | 2016 | ASE | - | ['C'] | ['8 programs from GNU COREUTILS utilities and real-world open source programs'] | A |
174 | Automated program repair using genetic programming and model checking | JBF | 2016 | Applied Intelligence | - | ['Java'] | ['some concurrent and non-concurrent faulty programs'] | C |
175 | Astor: A program repair library for java | jMutRepair | 2016 | ISSTA | https://github.com/Spirals-Team/defects4j-repair/ | ['Java'] | ['Defects4J'] | A |
176 | Angelix: Scalable multiline program patch synthesis via symbolic analysis | Angelix | 2016 | ICSE | http://angelix.io/ | ['C'] | ['GenProg ICSE2012 benchmark', '3 multi-location bugs extracted from CoREBench'] | A |
177 | Staged program repair with condition synthesis | SPR | 2015 | FSE | http://groups.csail.mit.edu/pac/spr/ | ['C'] | ['69 defects and 36 functionality changes drawn from seven large open source applications'] | A |
178 | Npefix: Automatic runtime repair of null pointer exceptions in java | NPEfix | 2015 | SANER | https://github.com/SpoonLabs/npefix | ['Java'] | ['16 real null pointer exceptions'] | B |
179 | Directfix: Looking for simple program repairs | Directfix | 2015 | ICSE | - | ['C'] | ['subject programs comprised of eighty nine buggy versions of four subject programs from SIR (Software-artifact Infrastructure Repository) & GNU Coreutils'] | A |
180 | ConcBugAssist: constraint solving for diagnosis and repair of concurrency bugs | ConcBugAssist | 2015 | ISSTA | - | ['C'] | ['C multithreaded programs (including POSIX threads related buggy programs from the 2015 SV-COMP)'] | A |
181 | Automatic repair of infinite loops | Infinitel | 2015 | arxiv | - | ['Java'] | ['seven seeded-bugs and on seven real-bugs'] | Other |
182 | Automatic runtime error repair and containment via recovery shepherding | RCV | 2014 | PLDI | - | ['C'] | ['all divide-by-zero and null-dereference errors available in the CVE database from January 2011 to March 2013 (finally got 18 errors)'] | A |
183 | Automatic repair for multi-threaded programs with deadlock/livelock using maximum satisfiability | deadlock/livelock repair tool | 2014 | ISSTA | - | ['C'] | ['four open-source multithreaded C programs'] | A |
184 | Automatic patch generation learned from human-written patches | Par | 2014 | ICSE | - | ['C'] | ['119 real bugs from open source projects'] | A |
185 | Automated fixing of programs with contracts | Autofix-E | 2014 | TSE | http://se.inf.ethz.ch/research/autofix/ | ['Eiffel'] | ['42 faults found by an automatic testing tool in two widely used Eiffel libraries'] | A |
186 | An assessment of the quality of automated program operator repair | MUT-APR | 2014 | ICST | - | ['C'] | ['Siemens suite'] | C |
187 | SemFix: Program Repair via Semantic Analysis | SemFix | 2013 | ICSE | - | ['C'] | ['SIR programs with seeded bugs', 'fragments of GNU Coreutils with real bugs'] | A |
188 | Repair with On-The-Fly Program Analysis | FoREnSiC repair module | 2012 | Haifa Verification Conference | - | ['C'] | ['tcas program from the Siemens suite'] | other |
189 | Evolutionary repair of faulty software | JAFF | 2011 | Applied soft computing | - | ['Java'] | ['java programs mutated by MuJava'] | Other |
190 | Code-Based Automated Program Fixing | AutoFix-E2 | 2011 | ASE | - | ['Eiffel'] | ['Data structure libraries', 'A library to manipulate text documents'] | A |
191 | Cause Clue Clauses: Error Localization using Maximum Satisfiability | Bug-Assist | 2011 | PLDI | http://bugassist.mpi-sws.org | ['C'] | ['5 programs from Siemens set of benchmarks with injected faults'] | A |
192 | Automated error localization and correction for imperative programs | FoREnSiC repair module | 2011 | FMCAD | - | ['C'] | ['TCAS programs from Siemens suite'] | C |
193 | Automatically finding patches using genetic programming | GenProg | 2009 | ICSE | https://squareslab.github.io/genprog-code/ | ['C'] | ['ten different C programs totaling 63', '000 lines'] | A |
194 | A novel co-evolutionary approach to automatic software bug fixing | co-evolutionary-based APR | 2008 | 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence) | - | ['C'] | ['a bubble-sort implementation'] | Other |