Skip to content

DehengYang/awesome-program-repair-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Collection of Automated Program Repair (APR) Tools

We have collected a list of APR tools since 2008 in this repository. For each APR tool, we have attached the following metadata:

  1. Publication Title
  2. Publication Year
  3. Publication Venue
  4. Link
  5. Target Language
  6. Evaluated Dataset
  7. 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.

The Way to Contribute to this Repository

To contribute to this repository, you can follow these steps:

Step 1: Fork the Repository

Step 2: Configure the Python Environment

Install PyQT5

sudo apt update; sudo apt install python3-pyqt5

Create a Python Environment and Run the Main Script

  1. cd metadata_manager
  2. conda env create -f env.yml
  3. conda activate apr_tool_list
  4. python main_json_generator.py,

and then you will see the following Window:

./doc/ui.png

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).

  1. python main_json_parser.py to update the Markdown Table of the README.md file.

Step 3: Create a PR

Update

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.

Survey

This section lists existing surveys on APR (in APA style):

  1. 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.
  2. 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).
  3. Xiang Gao, Yannic Noller, & Abhik Roychoudhury (2022). Program Repair. CoRR, abs/2211.12787.
  4. 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).
  5. 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.)
  6. S. Amirhossein Mousavi, Donya Azizi Babani, & Francesco Flammini (2020). Obstacles in Fully Automatic Program Repair: A survey. CoRR, abs/2011.02714.
  7. 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).
  8. 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.)
  9. Monperrus, M. (2018). Automatic software repair: a bibliography. ACM Computing Surveys (CSUR), 51(1), 1–24.
  10. Liu, Y., Zhang, L., & Zhang, Z. (2018). A Survey of Test Based Automatic Program Repair.. JSW, 13(8), 437–452.
  11. 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.)
  12. Monperrus, M. (2018). The living review on automated program repair. (Doctoral dissertation, HAL Archives Ouvertes).
  13. Gazzola, L., Micucci, D., & Mariani, L. (2017). Automatic software repair: A survey. IEEE Transactions on Software Engineering, 45(1), 34–67.
  14. 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:

  1. Le Goues, C., Pradel, M., Roychoudhury, A., & Chandra, S. (2021). Automatic Program Repair. IEEE Software, 38(4), 22–27.
  2. Roychoudhury, A., & Xiong, Y. (2019). Automated program repair: a step towards software automation. Science China Information Sciences, 62(10), 200103.
  3. Goues, C., Pradel, M., & Roychoudhury, A. (2019). Automated program repair. Communications of the ACM, 62(12), 56–65.
  4. Alireza Khalilian, Ahmad Baraani-Dastjerdi, & Bahman Zamani (2018). Challenges of Debugging Software Errors for Automatic Program Repair. In Book title is required!.
  5. Kim, S., Le Goues, C., Pradel, M., & Roychoudhury, A. (2017). Automated program repair (dagstuhl seminar 17022). In Dagstuhl Reports.
  6. Alrajeh, D., Kramer, J., Russo, A., & Uchitel, S. (2015). Automated support for diagnosis and repair. Communications of the ACM, 58(2), 65–72.
  7. Monperrus, M. (2015). Introduction to Automatic Software Repair. Journal is required!.
  8. Harrold, M., Steinmann, F., Tip, F., & Zeller, A. (2013). Fault Prediction, Localization, and Repair (Dagstuhl Seminar 13061). In Dagstuhl Reports.
  9. Le Goues, C., Forrest, S., & Weimer, W. (2013). Current challenges in automatic software repair. Software quality journal, 21(3), 421–443.
  10. Harman, M. (2010). Automated patching techniques: the fix is in: technical perspective. Communications of the ACM, 53(5), 108–108.

APR Tool List (sorted by year)

Title APR Tool Name Year Venue Repo URL Target Language Used Dataset CCF Rank
1 Towards Effectively Leveraging Execution Traces for Program Repair with Code LLMs 2025 arxiv ['Java', ' Python'] ['Refactory', ' HumanEval-Java', ' RunBugRun'] other
2 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
3 SemAgent: A Semantics Aware Program Repair Agent SemAgent 2025 arxiv ['Python'] ['SWE-Bench Lite'] other
4 Seeing is Fixing: Cross-Modal Reasoning with Multimodal LLMs for Visual Software Issue Fixing GUIRepair 2025 arxiv ['JavaScript'] ['SWE-bench M'] other
5 Repair Ingredients Are All You Need: Improving Large Language Model-Based Program Repair via Repair Ingredients Search ReinFix 2025 arxiv https://sites.google.com/view/repairingredients ['Java'] ['Defects4J'] other
6 MultiMend: Multilingual Program Repair with Context Augmentation and Multi-Hunk Patch Generation MultiMend 2025 arxiv https://github.com/h4iku/MultiMend ['Java', ' Python', ' C', ' JavaScript'] ['Defects4J', ' QuixBugs', ' Codeflaws', ' BugAID'] other
7 Counterexample Guided Program Repair Using Zero-Shot Learning and MaxSAT-based Fault Localization LLM-CEGIS-Repair 2025 AAAI https://github.com/pmorvalho/LLM-CEGIS-Repair ['C'] ['1431 incorrect student programs'] A
8 Comprehensive Fine-Tuning Large Language Models of Code for Automated Program Repair 2025 TSE https://github.com/LLMC-APR/STUDY ['Java', ' C', ' C++', ' JavaScript'] ['Defects4J', ' BFP', ' SeqRD', ' VulRD', ' TFixD', ' HEV'] A
9 Bug Fixing with Broader Context: Enhancing LLM-Based Program Repair via Layered Knowledge Injection 2025 arxiv ['Python'] ['BugsInPy'] other
10 Agent That Debugs: Dynamic State-Guided Vulnerability Repair VulDebugger 2025 arxiv ['C'] ['Juliet', ' ExtractFix', ' ARVO'] other
11 APRMCTS: Improving LLM-based Automated Program Repair with Iterative Tree Search APRMCTS 2025 arxiv ['Java', 'Python'] ['Defects4J', 'QuixBugs', 'ConDefects'] other
12 {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
13 {BRAFAR:} Bidirectional Refactoring, Alignment, Fault Localization, and Repair for Programming Assignments BRAFAR 2024 ISSTA https://github.com/LinnaX7/brafar-python ['Python'] [''] A
14 Vulnerability Repair via Concolic Execution and Code Mutations CrashRepair 2024 TOSEM https://github.com/nus-apr/CrashRepair ['C/C++'] ['VulnLoc'] A
15 Vision Transformer Inspired Automated Vulnerability Repair VQM 2024 TOSEM https://github.com/awsm-research/VQM C, C++ CVEfixes, Big-Vul A
16 ThinkRepair: Self-Directed Automated Program Repair ThinkRepair 2024 ISSTA https://github.com/vinci-grape/ThinkRepair ['Java'] ['Defects4J', 'QuixBugs'] A
17 Template-based Neural Program Repair TENURE 2024 ICSE https://github.com/mxx1219/TENURE ['Java'] ['Defects4J'] A
18 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
19 Strider: Signal Value Transition-Guided Defect Repair for {HDL} Programming Assignments Strider 2024 TCAD https://github.com/hejy47/Strider ['Verilog'] [''] A
20 SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering SWE-agent 2024 arxiv https://github.com/princeton-nlp/SWE-agent ['Python'] ['SWE-bench'] other
21 Revisiting Evolutionary Program Repair via Code Language Model ARJA-CLM 2024 arxiv ['Java'] ['Defects4J', ' APR-2024 competition benchmark'] other
22 Repair: Automated program repair with process-based feedback RePair 2024 ACL https://github.com/TnTWoW/RePair ['Python'] ['CodeNet4Repair'] A
23 Ratchet: Retrieval Augmented Transformer for Program Repair Patchet 2024 ISSRE https://sites.google.com/view/apr-ratchet ['C/C++'] ['DrRepair', ' Patchet-DS'] B
24 RTL-Repair: Fast Symbolic Repair of Hardware Design Code RTL-Repair 2024 ASPLOS https://github.com/ekiwi/rtl-repair ['Verilog'] [''] A
25 Poster: Repairing Bugs with the Introduction of New Variables: A Multi-Agent Large Language Model 2024 CCS ['Java'] ['Defects4J'] A
26 OpenDevin: An Open Platform for AI Software Developers as Generalist Agents OpenDevin 2024 arxiv https://github.com/OpenDevin/OpenDevin ['Python'] ['SWE-bench'] other
27 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
28 MarsCode Agent: AI-native Automated Bug Fixing MarsCode 2024 arxiv - ['Python'] ['SWE-bench'] other
29 MASAI: Modular Architecture for Software-engineering AI Agents MASAI 2024 NeurIPS https://github.com/masai-dev-agent/masai ['Python'] ['SWE-bench'] other
30 MAGIS: LLM-Based Multi-Agent Framework for GitHub Issue Resolution MAGIS 2024 arxiv - ['Python'] ['SWE-bench'] other
31 ITER: Iterative Neural Repair for Multi-Location Patches ITER 2024 ICSE https://github.com/ASSERT-KTH/ITER ['Java'] ['Defects4J'] A
32 How to Understand Whole Software Repository? RepoUnderstander 2024 arxiv https://github.com/RepoUnderstander/RepoUnderstander ['Python'] ['SWE-bench'] other
33 How Far Can We Go with Practical Function-Level Program Repair? Srepair 2024 arxiv https://github.com/GhabiX/Srepair ['Java'] ['Defects4J'] other
34 GenProgJS: a Baseline System for Test-based Automated Repair of JavaScript Programs GenProgJS 2024 TSE https://github.com/GenProgJS ['JavaScript'] ['BugsJS'] A
35 Exploring and Lifting the Robustness of LLM-powered Automated Program Repair with Metamorphic Testing 2024 arxiv ['Java', ' Python'] ['Defects4J', ' QuixBugs'] other
36 Enhancing the Efficiency of Automated Program Repair via Greybox Analysis Cresino 2024 ASE https://github.com/UNIST-LOFT/GreyboxAPR ['Java'] ['Defects4J'] A
37 Enhancing Automated Program Repair with Solution Design DRCodePilot 2024 ASE https://figshare.com/s/82ed8e86e88d3268b4c1 ['Java'] ['Flink', 'Solr'] A
38 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
39 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
40 Context-based Transfer Learning for Structuring Fault Localization and Program Repair Automation CodeHealer 2024 TOSEM https://github.com/yyiloe/CodeHealer ['Java'] ['Defects4J'] A
41 CodeR: Issue Resolving with Multi-Agent and Task Graphs CodeR 2024 arxiv https://github.com/NL2Code/CodeR ['Python'] ['SWE-bench'] other
42 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
43 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
44 Automated Code Editing with Search-Generate-Modify SARGAM 2024 arxiv https://github.com/SarGAMTEAM/SarGAM.git ['Java', 'Python'] ['Defects4J', 'QuixBugs'] Other
45 AutoCodeRover: Autonomous Program Improvement AutoCodeRover 2024 ISSTA https://github.com/nus-apr/auto-code-rover ['Python'] ['SWE-bench'] other
46 Agentless: Demystifying LLM-based Software Engineering Agents Agentless 2024 arxiv https://github.com/OpenAutoCoder/Agentless ['Python'] ['SWE-bench'] other
47 AIBugHunter: {A} Practical tool for predicting, classifying and repairing software vulnerabilities AIBugHunter 2024 EMSE [''] [''] B
48 Tare: Type-aware neural program repair Tare 2023 ICSE https://doi.org/10.5281/zenodo.7029404 ['Java', 'Python'] ['Defects4J', 'QuixBugs'] A
49 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
50 RepairLLaMA: Efficient Representations and Fine-Tuned Adapters for Program Repair RepairLLaMA 2023 arxiv https://github.com/ASSERT-KTH/repairllama ['Java'] ['Defects4J', 'HumanEval-Java'] Other
51 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
52 Program Repair with Repeated Learning Liana 2023 TSE http://www4.comp.polyu.edu.hk/~csypei/download/LIANA-TSE.zip ['Java'] ['Defects4J', 'INTROCLASSJAVA', 'QUIXBUGS'] A
53 Neural Transfer Learning for Repairing Security Vulnerabilities in {C} Code VRepair 2023 TSE https://github.com/SteveKommrusch/VRepair C Big-Vul, CVE-fixes A
54 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
55 MUFIN: Improving Neural Repair Models with Back-Translation MUFIN 2023 arxiv https://github.com/andre15silva/mufin ['Java'] ['Defects4J', 'QuixBugs'] Other
56 MCRepair: Multi-Chunk Program Repair via Patch Optimization with Buggy Block MCRepair 2023 SAC https://github.com/kimjisung78/MCRepair ['Java'] ['Defects4J'] Other
57 Katana: Dual Slicing-Based Context for Learning Bug Fixes KATANA 2023 TOSEM - ['JavaScript'] ['two separate datasets using our single and dual slicing techniques'] A
58 KNOD: Domain Knowledge Distilled Tree Decoder for Automated Program Repair KNOD 2023 ICSE https://github.com/lin-tan/knod ['Java', 'Python'] ['Defects4J', 'QuixBugs'] A
59 Gamma: Revisiting Template-Based Automated Program Repair Via Mask Prediction Gamma 2023 ASE https://github.com/iSEngLab/GAMMA ['Java', 'Python'] ['Defects4J', 'QuixBugs'] A
60 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
61 Explainable Automated Debugging via Large Language Model-driven Scientific Debugging AutoSD 2023 arxiv - ['Java', 'Python'] ['Defects4J', 'BugsInPy'] Other
62 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
63 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
64 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
65 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
66 Automated repair of programs from large language models CodeX-e 2023 ICSE https://github.com/apr4codex/icse2023 ['Java'] ['Defects4J'] A
67 Automated program repair from fuzzing perspective SimAPR 2023 ISSTA https://github.com/UNIST-LOFT/SimAPR ['Java'] ['Defects4J'] A
68 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
69 VulRepair: a T5-based automated software vulnerability repair VulRepair 2022 FSE https://github.com/awsm-research/VulRepair ['C', ' C++'] ['CVEFixes dataset'] A
70 Verifix: Verified Repair of Programming Assignments Verifix 2022 TOSEM https://github.com/zhiyufan/Verifix/tree/master [''] [''] A
71 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
72 TransplantFix: Graph Differencing-based Code Transplantation for Automated Program Repair TransplantFix 2022 ASE https://github.com/DehengYang/TransplantFix ['Java'] ['Defects4J'] A
73 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
74 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
75 SelfAPR: Self-supervised Program Repair with Test Execution Diagnostics SelfAPR 2022 ASE https://github.com/SophieHYe/SelfAPR ['Java'] ['Defects4J'] A
76 Review4Repair: Code review aided automatic program repairing Review4Repair 2022 IST https://github.com/Review4Repair/Review4Repair ['Java'] ['Android dataset'] B
77 Restore: Retrospective fault localization enhancing automated program repair RESTORE 2022 TSE - ['Java'] ['Defects4J'] A
78 Random Search and Code Similarity-Based Automatic Program Repair RSCSRepair 2022 Journal of Shanghai Jiaotong University (Science) - ['Java'] ['Defects4J'] Other
79 Quality of automated program repair on real-world defects JaRFly/genprog4java 2022 TSE https://github.com/squaresLab/genprog4java/ ['Java'] ['Defects4J'] A
80 Program vulnerability repair via inductive inference VulnFix 2022 ISSTA https://github.com/yuntongzhang/vulnfix ['C'] ['VulnLoc benchmark'] A
81 Patch It If You Can: Increasing the Efficiency of Patch Generation Using Context EffiGenC 2022 Electronics(MDPI) - ['Java'] ['Defects4J'] Other
82 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
83 Neural program repair with execution-based backpropagation RewardRepair 2022 ICSE https://github.com/SophieHYe/RewardRepair ['Java'] ['Defects4J', 'Bugs.jar', 'QuixBugs'] A
84 Less training, more repairing please: revisiting automated program repair via zero-shot learning AlphaRepair 2022 FSE https://zenodo.org/record/6819444 ['Java'] ['Defects4J'] A
85 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
86 Improving fault localization and program repair with deep semantic features and transferred knowledge TRANSFER 2022 ICSE https://github.com/mxx1219/TRANSFER ['Java'] ['Defects4J'] A
87 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
88 Fault localization to detect co-change fixing locations FixLocator-CURE 2022 FSE https://github.com/fixlocatorresearch/fixlocatorresearch ['Java'] ['Defects4J'] A
89 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
90 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
91 Codit: Code editing with tree-based neural models CODIT 2022 TSE - ['Java'] ['Defects4J'] A
92 CirFix: automatically repairing defects in hardware design code CirFix 2022 ASPLOS ['Verilog'] [''] A
93 Can We Automatically Fix Bugs by Learning Edit Operations? Hephaestus 2022 SANER https://github.com/WM-SEMERU/hephaestus ['Java'] ['CodeXGlue'] B
94 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
95 CIRCLE: continual repair across programming languages Circle 2022 ISSTA https://github.com/2022CIRCLE/CIRCLE ['Java'] ['Defects4J'] A
96 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
97 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
98 Sosrepair: Expressive semantic search for real-world program repair SOSRepair 2021 TSE https://github.com/squaresLab/SOSRepair ['C'] ['subset of ManyBugs'] A
99 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
100 Sequencer: Sequence-to-sequence learning for end-to-end program repair SEQUENCER 2021 TSE https://github.com/KTH/chai ['Java'] ['Defects4J'] A
101 Self-supervised bug detection and repair BUGLAB (PYBUGLAB) 2021 NeurIPS - ['Python'] ['RANDOMBUGS', 'PYPIBUGS'] A
102 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
103 Refining Fitness Functions for Search-Based Program Repair 2Phase 2021 APR workshop - ['Java'] ['QuixBugs'] Other
104 ReFixar: Multi-version Reasoning for Automated Repair of Regression Errors ReFixar 2021 ISSRE - ['Java'] ['51 real regression bugs'] B
105 On Multi-Modal Learning of Editing Source Code MODIT 2021 ASE https://doi.org/10.5281/zenodo.7968641 ['Java'] ['Tufano et al. dataset'] A
106 Multiplicative Weights Algorithms for Parallel Automated Software Repair MWRepair 2021 IPDPS - ['Java'] ['ManyBugs', 'units', 'Defects4J'] B
107 Mining fix patterns for findbugs violations findbugs-violation 2021 TSE https://github.com/FixPattern/findbugs-violation ['Java'] ['Defects4J'] A
108 Mining Event Logic Graph from Open Q&A Site for Automated Program Repair APR-ELG 2021 QRS-C - ['Java'] ['Defects4J'] C
109 GrasP: Graph-to-Sequence Learning for Automated Program Repair GrasP 2021 QRS-C - ['Java'] ['Defects4J'] C
110 GPURepair: Automated Repair of GPU Kernels GPURepair 2021 VMCAI - ['CUDA', 'OpenCL'] ['748 GPU kernels written in CUDA and OpenCL'] B
111 Fix-Filter-Fix: Intuitively Connect Any Models for Effective Bug Fixing Fix-Filter-Fix 2021 EMNLP - ['Java'] ['BFP', 'CodRep'] B
112 Elixir: Effective object-oriented program repair ELIXIR 2021 ASE - ['Java'] ['Defects4J'] A
113 DeepDebug: Fixing Python Bugs Using Stack Traces, Backtranslation, and Code Skeletons DeepDebug 2021 arxiv - ['Java'] ['QuixBugs'] Other
114 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
115 Contract-based program repair without the contracts: An extended study JAID-revise 2021 TSE - ['Java'] ['Defects4J'] A
116 Contract-based program repair without the contracts JAID 2021 ASE https://bitbucket.org/maxpei/jaid/ ['Java'] ['Defects4J'] A
117 Concolic Program Repair CPR 2021 PLDI https://cpr-tool.github.io/ ['C'] ['SV-COMP benchmarks (software vulnerabilities and defects)'] A
118 CURE: Code-aware neural machine translation for automatic program repair CURE 2021 ICSE https://github.com/lin-tan/CURE ['Java'] ['Defects4J', 'QuixBugs'] A
119 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
120 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
121 Automated Repair of Java Programs with Random Search via Code Similarity RCSRepair 2021 QRS-Companion - ['Java'] ['Defects4J'] C
122 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
123 Applying CodeBERT for Automated Program Repair of Java Simple Bugs fine-tuned CodeBERT 2021 MSR https://github.com/EhsanMashhadi/MSR2021-ProgramRepair ['Java'] ['ManySStuBs4J'] C
124 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
125 Accelerating redundancy-based program repair via code representation learning and adaptive patch filtering AccPR (integrate into SimFix) 2021 FSE - ['Java'] ['Defects4J'] A
126 A syntax-guided edit decoder for neural program repair Recoder 2021 FSE https://github.com/pkuzqh/Recoder ['Java'] ['Defects4J'] A
127 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
128 Toward Better Evolutionary Program Repair: An Integrated Approach ARJA-e 2020 TOSEM https://github.com/yyxhdy/arja/tree/arja-e ['Java'] ['Defects4J'] A
129 Novelty search for automatic bug repair NS-GenProg 2020 Proceedings of the 2020 Genetic and Evolutionary Computation Conference - ['C'] ['ManyBugs'] B
130 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
131 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
132 Fixminer: Mining relevant fix patterns for automated program repair FixMiner 2020 EMSE https://github.com/SerVal-DTF/fixminer-core ['Java'] ['Defects4J'] B
133 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
134 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
135 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
136 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
137 Automated Program-Semantic Defect Repair and False-Positive Elimination without Side Effects DTSFix 2020 Symmetry - ['Java'] ['Defectsj4J'] Other
138 ARJA: Automated repair of java programs via multi-objective genetic programming Arja 2020 TSE https://github.com/yyxhdy/arja ['Java'] ['Defectsj4J'] A
139 iFixR: bug report driven program repair iFixR 2019 FSE https://github.com/SerVal-DTF/iFixR ['Java'] ['Defects4J'] A
140 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
141 VFix: value-flow-guided precise program repair for null pointer dereferences VFix 2019 ICSE - ['Java'] ['Defects4J'] A
142 TBar: revisiting template-based automated program repair Tbar 2019 ISSTA https://github.com/SerVal-DTF/Tbar ['Java'] ['Defects4J'] A
143 Stryker: Scaling specification-based program repair by pruning infeasible mutants with sat Stryker 2019 arxiv - ['Java'] ['JML dataset'] Other
144 Sorting and transforming program repair ingredients via deep learning code similarities DeepRepair 2019 SANER https://github.com/SpoonLabs/astor-experiments/ ['Java'] ['Defects4J'] B
145 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
146 Program repair at arbitrary fault depth RCFix 2019 ICST - ['Java'] ['seeded faults of the Defects4J Math project'] C
147 Practical program repair via bytecode mutation PraPR 2019 ISSTA https://github.com/prapr/prapr ['Java'] ['Defects4J'] A
148 LoopFix: an approach to automatic repair of buggy loops LoopFix 2019 JSS - ['Java'] ['Defects4J'] B
149 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
150 Inferring program transformations from singular examples via big code GenPat 2019 ASE https://github.com/xgdsmileboy/GenPat ['Java'] ['Defects4J'] A
151 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
152 Harnessing evolution for multi-hunk program repair HERCULES 2019 ICSE - ['Java'] ['Defects4J'] A
153 Encore: Ensemble learning using convolution neural machine translation for automatic program repair ENCORE 2019 arxiv - ['Java'] ['Defects4J'] Other
154 Crash-avoiding program repair Fix2Fit 2019 ISSTA https://www.github.com/gaoxiang9430/fix2fit ['C'] [''] C
155 Connecting program synthesis and reachability: Automatic program repair using test-input generation CETI 2019 TACAS - ['C'] ['Tcas program (41 seeded defects)'] A
156 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
157 Avatar: Fixing semantic bugs with fix patterns of static analysis violations AVATAR 2019 SANER https://github.com/SerVal-Repair/AVATAR ['Java'] ['Defects4J'] B
158 Automatic patch generation with context-based change application ConFix 2019 EMSE https://github.com/thwak/ConFix ['Java'] ['Defects4J'] B
159 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
160 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
161 Towards practical program repair with on-demand candidate generation SketchFix 2018 ICSE https://github.com/SketchFix/SketchFix ['Java'] ['Defects4J'] A
162 The remarkable role of similarity in redundancy-based program repair 3sfix 2018 arxiv https://github.com/kth-tcs/3sFix-experiments ['Java'] ['Defects4J'] Other
163 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
164 Shaping program repair space with existing patches and similar code SimFix 2018 ISSTA https://github.com/xgdsmileboy/SimFix ['Java'] ['Defects4J'] A
165 Semantic program repair using a reference implementation SemGraft 2018 ICSE - ['C'] ['embedded Linux Busybox with GNU Coreutils as reference (and vice-versa) revealed'] A
166 Search, align, and repair: data-driven feedback generation for introductory programming exercises SarfGen 2018 PLDI [''] [''] A
167 Repairing crashes in android apps Droix 2018 ICSE https://github.com/stan6/droixbench ['Java'] ['DroixBench'] A
168 Nopol: Automatic repair of conditional statement bugs in java programs Nopol 2018 TSE https://github.com/SpoonLabs/nopol/ ['Java'] ['Defects4J'] A
169 Mining stackoverflow for program repair SOFix 2018 SANER - ['Java'] ['Defects4J'] B
170 Learning to Repair Software Vulnerabilities with Generative Adversarial Networks GAN 2018 NIPS ['C', ' C++'] ['SATE IV'] A
171 LSRepair: Live search of fix ingredients for automated program repair LSRepair 2018 APSEC https://github.com/AutoProRepair/LSRepair ['Java'] ['Defects4J'] C
172 Dynamic patch generation for null pointer exceptions using metaprogramming DynaMoth 2018 SANER https://github.com/SpoonLabs/nopol/ ['Java'] ['Defects4J'] B
173 Context-aware patch generation for better automated program repair CapGen 2018 ICSE https://github.com/justinwm/CapGen ['Java'] ['Defects4J'] A
174 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
175 Automated program repair with canonical constraints CSAR 2018 ICSE-companion - ['Java'] ['IntroClassJava'] A
176 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
177 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
178 Synergistic debug-repair of heap manipulations Wolverine 2017 FSE - ['C'] ['20 heap manipulating programs'] A
179 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
180 Precise condition synthesis for program repair ACS 2017 ICSE ttps://github.com/Adobee/ACS ['Java'] ['Defects4J'] A
181 Leveraging syntax-related code for automated program repair ssFix 2017 ASE https://github.com/qixin5/ssFix ['Java'] ['Defects4J'] A
182 Identifying test-suite-overfitted patches through test case generation DiffTGen 2017 ISSTA https://github.com/qixin5/DiffTGen ['Java'] ['Defects4J'] A
183 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
184 A feasibility study of using automated program repair for introductory programming assignments ITSP 2017 FSE [''] [''] A
185 Towards efficient and effective automatic program repair deductive-reasoning-based APR 2016 ASE - ['C'] ['SIR benchmark that are seeded with bugs'] A
186 Semi-supervised verified feedback generation CoderAssist 2016 FSE [''] [''] A
187 History driven program repair HDRepair 2016 SANER https://github.com/xuanbachle/bugfixes ['Java'] ['Defects4J'] B
188 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
189 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
190 Automated program repair using genetic programming and model checking JBF 2016 Applied Intelligence - ['Java'] ['some concurrent and non-concurrent faulty programs'] C
191 Astor: A program repair library for java jMutRepair 2016 ISSTA https://github.com/Spirals-Team/defects4j-repair/ ['Java'] ['Defects4J'] A
192 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
193 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
194 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
195 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
196 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
197 Automatic repair of infinite loops Infinitel 2015 arxiv - ['Java'] ['seven seeded-bugs and on seven real-bugs'] Other
198 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
199 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
200 Automatic patch generation learned from human-written patches Par 2014 ICSE - ['C'] ['119 real bugs from open source projects'] A
201 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
202 An assessment of the quality of automated program operator repair MUT-APR 2014 ICST - ['C'] ['Siemens suite'] C
203 SemFix: Program Repair via Semantic Analysis SemFix 2013 ICSE - ['C'] ['SIR programs with seeded bugs', 'fragments of GNU Coreutils with real bugs'] A
204 Repair with On-The-Fly Program Analysis FoREnSiC repair module 2012 Haifa Verification Conference - ['C'] ['tcas program from the Siemens suite'] other
205 Evolutionary repair of faulty software JAFF 2011 Applied soft computing - ['Java'] ['java programs mutated by MuJava'] Other
206 Code-Based Automated Program Fixing AutoFix-E2 2011 ASE - ['Eiffel'] ['Data structure libraries', 'A library to manipulate text documents'] A
207 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
208 Automated error localization and correction for imperative programs FoREnSiC repair module 2011 FMCAD - ['C'] ['TCAS programs from Siemens suite'] C
209 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
210 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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •