{"url":"/task/program-repair","name":"Program Repair","slug":"program-repair","description_markdown":"Task of teaching ML models to modify an existing program to fix a bug in a given code.","categories":[{"name":"Computer Code","url":"/area/computer-code"},{"name":"Reasoning","url":"/area/reasoning"}],"source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","slug_source":"archive_url"},"counts":{"papers_tagged":132,"papers_with_code":52,"benchmarks":4,"benchmark_tables_in_archive":4,"benchmark_tables_shown":4,"benchmark_tables_withheld_as_spam":0,"benchmark_definition":"a leaderboard table with at least one row; benchmark_tables_shown also counts the zero-row tables; benchmark_tables_in_archive adds the tables withheld as spam","datasets":9,"subtasks":6,"parent_tasks":1},"benchmarks":[{"leaderboard":"/sota/program-repair-on-deepfix","slug":"program-repair-on-deepfix","dataset":"DeepFix","dataset_url":"/dataset/deepfix","rows_in_archive":4,"metrics":["Average Success Rate"],"first_row_in_archive_order":{"model":"DrRepair + BIFI","paper_title":"Break-It-Fix-It: Unsupervised Learning for Program Repair","paper_url":"/paper/break-it-fix-it-unsupervised-learning-for","paper_date":"2021-06-11","arxiv_id":"2106.06600","code_links":[{"title":"michiyasunaga/bifi","url":"https://github.com/michiyasunaga/bifi"}],"syntology":{"n":6,"n_ran":0,"n_unverified":6,"n_pointer_only":0}}},{"leaderboard":"/sota/program-repair-on-github-python","slug":"program-repair-on-github-python","dataset":"GitHub-Python","dataset_url":"/dataset/github-python","rows_in_archive":2,"metrics":["Accuracy (%)"],"first_row_in_archive_order":{"model":"Transformer + BIFI","paper_title":"Break-It-Fix-It: Unsupervised Learning for Program Repair","paper_url":"/paper/break-it-fix-it-unsupervised-learning-for","paper_date":"2021-06-11","arxiv_id":"2106.06600","code_links":[{"title":"michiyasunaga/bifi","url":"https://github.com/michiyasunaga/bifi"}],"syntology":{"n":6,"n_ran":0,"n_unverified":6,"n_pointer_only":0}}},{"leaderboard":"/sota/program-repair-on-humanevalpack","slug":"program-repair-on-humanevalpack","dataset":"HumanEvalPack","dataset_url":"/dataset/humanevalpack","rows_in_archive":1,"metrics":["Pass@1"],"first_row_in_archive_order":{"model":"MGDebugger (DeepSeek-Coder-V2-Lite)","paper_title":"From Code to Correctness: Closing the Last Mile of Code Generation with Hierarchical Debugging","paper_url":"/paper/from-code-to-correctness-closing-the-last","paper_date":"2024-10-02","arxiv_id":"2410.01215","code_links":[{"title":"YerbaPage/MGDebugger","url":"https://github.com/YerbaPage/MGDebugger"}],"syntology":{"n":9,"n_ran":8,"n_unverified":1,"n_pointer_only":0}}},{"leaderboard":"/sota/program-repair-on-tfix-s-code-patches-data","slug":"program-repair-on-tfix-s-code-patches-data","dataset":"TFix's Code Patches Data","dataset_url":"/dataset/tfix-s-code-patch-data","rows_in_archive":1,"metrics":["Error Removal","Exact Match"],"first_row_in_archive_order":{"model":"TFix","paper_title":"TFix: Learning to Fix Coding Errors with a Text-to-Text Transformer","paper_url":"/paper/tfix-learning-to-fix-coding-errors-with-a","paper_date":"2021-07-18","arxiv_id":null,"code_links":[{"title":"eth-sri/TFix","url":"https://github.com/eth-sri/TFix"}],"syntology":null}}],"datasets":[{"url":"/dataset/deepfix","name":"DeepFix","full_name":"","num_papers_in_archive":38},{"url":"/dataset/humanevalpack","name":"HumanEvalPack","full_name":"HumanEvalPack","num_papers_in_archive":26},{"url":"/dataset/manysstubs4j","name":"ManySStuBs4J","full_name":"","num_papers_in_archive":22},{"url":"/dataset/xcodeeval","name":"xCodeEval","full_name":"xCodeEval","num_papers_in_archive":15},{"url":"/dataset/defects4j","name":"Defects4J","full_name":"Defects4J","num_papers_in_archive":9},{"url":"/dataset/codrep","name":"CodRep","full_name":"","num_papers_in_archive":7},{"url":"/dataset/github-python","name":"GitHub-Python","full_name":"","num_papers_in_archive":5},{"url":"/dataset/eth-py150-open","name":"ETH Py150 Open","full_name":"","num_papers_in_archive":3},{"url":"/dataset/tfix-s-code-patch-data","name":"TFix's Code Patches Data","full_name":"","num_papers_in_archive":1}],"subtasks":[{"url":"/task/exception-type","name":"Exception type"},{"url":"/task/fault-localization","name":"Fault localization"},{"url":"/task/function-docstring-mismatch","name":"Function-docstring mismatch"},{"url":"/task/swapped-operands","name":"Swapped operands"},{"url":"/task/variable-misuse","name":"Variable misuse"},{"url":"/task/wrong-binary-operator","name":"Wrong binary operator"}],"parent_tasks":[{"url":"/task/program-synthesis","name":"Program Synthesis"}],"papers":{"order":"repositories listed in the archive (desc), then date (desc); the archive holds no stars","population":"papers tagged with this task that list at least one repository in the archive","shown":30,"of":52,"tagged_in_all":132,"items":[{"url":"/paper/autocoderover-autonomous-program-improvement","title":"AutoCodeRover: Autonomous Program Improvement","date":"2024-04-08","arxiv_id":"2404.05427","repositories_listed":5,"syntology":{"n":4,"n_ran":0,"n_unverified":4,"n_pointer_only":1}},{"url":"/paper/agentless-demystifying-llm-based-software","title":"Agentless: Demystifying LLM-based Software Engineering Agents","date":"2024-07-01","arxiv_id":"2407.01489","repositories_listed":4,"syntology":{"n":24,"n_ran":3,"n_unverified":21,"n_pointer_only":0}},{"url":"/paper/xcodeeval-a-large-scale-multilingual","title":"xCodeEval: A Large Scale Multilingual Multitask Benchmark for Code Understanding, Generation, Translation and Retrieval","date":"2023-03-06","arxiv_id":"2303.03004","repositories_listed":4,"syntology":{"n":6,"n_ran":1,"n_unverified":5,"n_pointer_only":0}},{"url":"/paper/c-pack-of-ipas-a-c90-program-benchmark-of","title":"C-Pack of IPAs: A C90 Program Benchmark of Introductory Programming Assignments","date":"2022-06-17","arxiv_id":"2206.08768","repositories_listed":3,"syntology":null},{"url":"/paper/repairbench-leaderboard-of-frontier-models","title":"RepairBench: Leaderboard of Frontier Models for Program Repair","date":"2024-09-27","arxiv_id":"2409.18952","repositories_listed":2,"syntology":null},{"url":"/paper/hyperagent-generalist-software-engineering","title":"HyperAgent: Generalist Software Engineering Agents to Solve Coding Tasks at Scale","date":"2024-09-09","arxiv_id":"2409.16299","repositories_listed":2,"syntology":null},{"url":"/paper/teaching-large-language-models-to-self-debug","title":"Teaching Large Language Models to Self-Debug","date":"2023-04-11","arxiv_id":"2304.05128","repositories_listed":2,"syntology":{"n":1,"n_ran":0,"n_unverified":1,"n_pointer_only":0}},{"url":"/paper/exploring-plausible-patches-using-source-code","title":"Exploring Plausible Patches Using Source Code Embeddings in JavaScript","date":"2021-03-31","arxiv_id":"2103.16846","repositories_listed":2,"syntology":null},{"url":"/paper/unified-pre-training-for-program","title":"Unified Pre-training for Program Understanding and Generation","date":"2021-03-10","arxiv_id":"2103.06333","repositories_listed":2,"syntology":null},{"url":"/paper/graph-based-self-supervised-program-repair","title":"Graph-based, Self-Supervised Program Repair from Diagnostic Feedback","date":"2020-05-20","arxiv_id":"2005.10636","repositories_listed":2,"syntology":{"n":6,"n_ran":4,"n_unverified":2,"n_pointer_only":0}},{"url":"/paper/pre-trained-contextual-embedding-of-source-1","title":"Learning and Evaluating Contextual Embedding of Source Code","date":"2019-12-21","arxiv_id":"2001.00059","repositories_listed":2,"syntology":null},{"url":"/paper/neural-program-repair-by-jointly-learning-to-1","title":"Neural Program Repair by Jointly Learning to Localize and Repair","date":"2019-04-03","arxiv_id":"1904.01720","repositories_listed":2,"syntology":{"n":8,"n_ran":0,"n_unverified":8,"n_pointer_only":0}},{"url":"/paper/sequencer-sequence-to-sequence-learning-for","title":"SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repair","date":"2018-12-24","arxiv_id":"1901.01808","repositories_listed":2,"syntology":null},{"url":"/paper/cosil-software-issue-localization-via-llm","title":"CoSIL: Software Issue Localization via LLM-Driven Code Repository Graph Searching","date":"2025-03-28","arxiv_id":"2503.22424","repositories_listed":1,"syntology":null},{"url":"/paper/less-is-more-adaptive-program-repair-with-bug","title":"Less is More: Adaptive Program Repair with Bug Localization and Preference Learning","date":"2025-03-09","arxiv_id":"2503.06510","repositories_listed":1,"syntology":null},{"url":"/paper/o3-mini-vs-deepseek-r1-which-one-is-safer","title":"o3-mini vs DeepSeek-R1: Which One is Safer?","date":"2025-01-30","arxiv_id":"2501.18438","repositories_listed":1,"syntology":null},{"url":"/paper/integrating-various-software-artifacts-for","title":"Integrating Various Software Artifacts for Better LLM-based Bug Localization and Program Repair","date":"2024-12-05","arxiv_id":"2412.03905","repositories_listed":1,"syntology":null},{"url":"/paper/planning-driven-programming-a-large-language","title":"Planning-Driven Programming: A Large Language Model Programming Workflow","date":"2024-11-21","arxiv_id":"2411.14503","repositories_listed":1,"syntology":{"n":9,"n_ran":0,"n_unverified":9,"n_pointer_only":0}},{"url":"/paper/from-code-to-correctness-closing-the-last","title":"From Code to Correctness: Closing the Last Mile of Code Generation with Hierarchical Debugging","date":"2024-10-02","arxiv_id":"2410.01215","repositories_listed":1,"syntology":{"n":9,"n_ran":8,"n_unverified":1,"n_pointer_only":0}},{"url":"/paper/can-gpt-o1-kill-all-bugs","title":"Can GPT-O1 Kill All Bugs? An Evaluation of GPT-Family LLMs on QuixBugs","date":"2024-09-16","arxiv_id":"2409.10033","repositories_listed":1,"syntology":null},{"url":"/paper/repair-automated-program-repair-with-process","title":"RePair: Automated Program Repair with Process-based Feedback","date":"2024-08-21","arxiv_id":"2408.11296","repositories_listed":1,"syntology":{"n":3,"n_ran":2,"n_unverified":1,"n_pointer_only":3}},{"url":"/paper/semcoder-training-code-language-models-with","title":"SemCoder: Training Code Language Models with Comprehensive Semantics Reasoning","date":"2024-06-03","arxiv_id":"2406.01006","repositories_listed":1,"syntology":{"n":15,"n_ran":11,"n_unverified":4,"n_pointer_only":0}},{"url":"/paper/benchmarking-educational-program-repair","title":"Benchmarking Educational Program Repair","date":"2024-05-08","arxiv_id":"2405.05347","repositories_listed":1,"syntology":{"n":13,"n_ran":12,"n_unverified":1,"n_pointer_only":13}},{"url":"/paper/aligning-llms-for-fl-free-program-repair","title":"Aligning the Objective of LLM-based Program Repair","date":"2024-04-13","arxiv_id":"2404.08877","repositories_listed":1,"syntology":{"n":8,"n_ran":6,"n_unverified":2,"n_pointer_only":0}},{"url":"/paper/repairagent-an-autonomous-llm-based-agent-for","title":"RepairAgent: An Autonomous, LLM-Based Agent for Program Repair","date":"2024-03-25","arxiv_id":"2403.17134","repositories_listed":1,"syntology":{"n":1,"n_ran":1,"n_unverified":0,"n_pointer_only":1}},{"url":"/paper/evaluating-program-repair-with-semantic","title":"Towards Reliable Evaluation of Neural Program Repair with Natural Robustness Testing","date":"2024-02-19","arxiv_id":"2402.11892","repositories_listed":1,"syntology":null},{"url":"/paper/a-novel-approach-for-automatic-program-repair","title":"A Novel Approach for Automatic Program Repair using Round-Trip Translation with Large Language Models","date":"2024-01-15","arxiv_id":"2401.07994","repositories_listed":1,"syntology":null},{"url":"/paper/repairllama-efficient-representations-and","title":"RepairLLaMA: Efficient Representations and Fine-Tuned Adapters for Program Repair","date":"2023-12-25","arxiv_id":"2312.15698","repositories_listed":1,"syntology":{"n":3,"n_ran":3,"n_unverified":0,"n_pointer_only":3}},{"url":"/paper/breaking-the-silence-the-threats-of-using","title":"Breaking the Silence: the Threats of Using LLMs in Software Engineering","date":"2023-12-13","arxiv_id":"2312.08055","repositories_listed":1,"syntology":null},{"url":"/paper/out-of-context-how-important-is-local-context","title":"Out of Context: How important is Local Context in Neural Program Repair?","date":"2023-12-08","arxiv_id":"2312.04986","repositories_listed":1,"syntology":null}],"syntology_records":14,"syntology_note":"a paper without a record is not a recorded non-run: it may lack an arXiv id or simply be absent from the graph layer"},"description_links":{"kept":0,"unwrapped_to_text":0,"bare_urls_linked":0,"relative_images_dropped":0,"rule":"internal links are kept only when the target slug exists in the catalog"},"syntology":{"read_at":"2026-09-24T18:15:14+00:00","claim":"Per-sample execution status on synthesized fixtures ('ran N of M samples'); not a correctness claim and not a ranking signal.","status_vocabulary":{"ran_honours":"ran, honoured the contract we drafted","ran_violates":"ran, violated the contract we drafted","ran_draft_wrong":"ran; our contract draft was wrong, not the code","ran_fixture":"ran; our fixture could not drive it","ran":"ran on a synthesized input","unverified":"unverified (harvested, no recorded run)"}},"not_shown":{"libraries":"the archive has no per-task library table","trend_sparklines":"the Trend column of the benchmarks table was a rendered image; it is not in the archive","social_and_latest_sorts":"stars and social signals are not in the archive"}}