{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/neural-program-repair-by-jointly-learning-to-1","title":"Neural Program Repair by Jointly Learning to Localize and Repair","arxiv_id":"1904.01720","date":"2019-04-03","proceeding":"ICLR 2019 5","authors":["Marko Vasic","Aditya Kanade","Petros Maniatis","David Bieber","Rishabh Singh"],"abstract":"Due to its potential to improve programmer productivity and software quality,\nautomated program repair has been an active topic of research. Newer techniques\nharness neural networks to learn directly from examples of buggy programs and\ntheir fixes. In this work, we consider a recently identified class of bugs\ncalled variable-misuse bugs. The state-of-the-art solution for variable misuse\nenumerates potential fixes for all possible bug locations in a program, before\nselecting the best prediction. We show that it is beneficial to train a model\nthat jointly and directly localizes and repairs variable-misuse bugs. We\npresent multi-headed pointer networks for this purpose, with one head each for\nlocalization and repair. The experimental results show that the joint model\nsignificantly outperforms an enumerative solution that uses a pointer based\nmodel for repair alone.","url_abs":"http://arxiv.org/abs/1904.01720v1","url_pdf":"http://arxiv.org/pdf/1904.01720v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"neural-program-repair-by-jointly-learning-to-1","repo_url":"https://github.com/UH-SERG/SIVAND","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"neural-program-repair-by-jointly-learning-to-1","repo_url":"https://github.com/mdrafiqulrabin/SIVAND","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"program-repair","task_name":"Program Repair"},{"task_slug":"variable-misuse","task_name":"Variable misuse"}],"methods":[{"method_slug":"repair","method_name":"Repair"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1904.01720","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.01720"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mdrafiqulrabin/SIVAND","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/UH-SERG/SIVAND","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":8},"by_repo_kind":{"listed":{"samples":8,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"be091858e457291a","entry":"deltas_to_code","repo":"UH-SERG/SIVAND","repo_kind":"listed","path":"helper.py","file_url":"https://github.com/UH-SERG/SIVAND/blob/HEAD/helper.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"be091858e457291a"}},{"code_sha256_prefix":"1b90f8d2e9e9fb50","entry":"deltas_to_code","repo":"UH-SERG/SIVAND","repo_kind":"listed","path":"models/dd-code2seq/dd_code2seq.py","file_url":"https://github.com/UH-SERG/SIVAND/blob/HEAD/models/dd-code2seq/dd_code2seq.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1b90f8d2e9e9fb50"}},{"code_sha256_prefix":"a1fc06079468c19b","entry":"fix_internal_delimiter","repo":"UH-SERG/SIVAND","repo_kind":"listed","path":"models/dd-code2seq/sm_helper.py","file_url":"https://github.com/UH-SERG/SIVAND/blob/HEAD/models/dd-code2seq/sm_helper.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a1fc06079468c19b"}},{"code_sha256_prefix":"e1dac4e762dd1043","entry":"get_char_deltas","repo":"UH-SERG/SIVAND","repo_kind":"listed","path":"helper.py","file_url":"https://github.com/UH-SERG/SIVAND/blob/HEAD/helper.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e1dac4e762dd1043"}},{"code_sha256_prefix":"425f46d64efd5a60","entry":"get_flat_name","repo":"UH-SERG/SIVAND","repo_kind":"listed","path":"models/dd-code2seq/sm_helper.py","file_url":"https://github.com/UH-SERG/SIVAND/blob/HEAD/models/dd-code2seq/sm_helper.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"425f46d64efd5a60"}},{"code_sha256_prefix":"7eb51f38057f627a","entry":"get_subtoken_name","repo":"UH-SERG/SIVAND","repo_kind":"listed","path":"models/dd-code2seq/sm_helper.py","file_url":"https://github.com/UH-SERG/SIVAND/blob/HEAD/models/dd-code2seq/sm_helper.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7eb51f38057f627a"}},{"code_sha256_prefix":"f8ab34c2718ce0ee","entry":"get_token_deltas","repo":"UH-SERG/SIVAND","repo_kind":"listed","path":"helper.py","file_url":"https://github.com/UH-SERG/SIVAND/blob/HEAD/helper.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f8ab34c2718ce0ee"}},{"code_sha256_prefix":"868a29e8f1c6d3a8","entry":"load_method","repo":"UH-SERG/SIVAND","repo_kind":"listed","path":"others/load_java_method.py","file_url":"https://github.com/UH-SERG/SIVAND/blob/HEAD/others/load_java_method.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"868a29e8f1c6d3a8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}