{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,8]],"date-time":"2026-10-08T20:36:16Z","timestamp":1791491776673,"version":"4.3.4"},"reference-count":91,"publisher":"Association for Computing Machinery (ACM)","issue":"FSE","license":[{"start":{"date-parts":[[2024,7,12]],"date-time":"2024-07-12T00:00:00Z","timestamp":1720742400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"publisher","award":["62202344, 62141221"],"award-info":[{"award-number":["62202344, 62141221"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. ACM Softw. Eng."],"published-print":{"date-parts":[[2024,7,12]]},"abstract":"<jats:p>\n                    This paper presents our approach proposed to detect and create indivisible multi-hunk bugs, an evaluation of existing repair techniques based on these bugs, and a study of the patches of these bugs constructed by the developers and existing tools. Multi-hunk bug repair aims to deal with complex bugs by fixing multiple locations of the program. Previous research on multi-hunk bug repair is severely misguided, as the evaluation of previous techniques is predominantly based on the Defects4J dataset containing a great deal of\n                    <jats:italic toggle=\"yes\">divisible<\/jats:italic>\n                    multi-hunk bugs. A divisible multi-hunk bug is essentially a combination of multiple bugs triggering different failures and is uncommon while debugging, as the developer typically deals with one failure at a time. To address this problem and provide a better basis for multi-hunk bug repair, we propose an enumeration-based approach IBugFinder, which given a bug dataset can automatically detect divisible and indivisible bugs in the dataset and further isolate the divisible bugs into new indivisible bugs. We applied IBugFinder to 281 multi-hunk bugs from the Defects4J dataset. IBugFinder identified 139 divisible bugs and created 249 new bugs among which 105 are multi-hunk.\n                  <\/jats:p>\n                  <jats:p>We evaluated existing repair techniques with the indivisible multi-hunk bugs detected and created by IBugFinder and found that these techniques repaired only a small number of bugs suggesting weak multi-hunk repair abilities. We further studied the patches of indivisible multi-hunk bugs constructed by the developers and the various tools with a focus on understanding the relationships of the partial patches made at different locations. The study has led to the identification of 8 partial patch relationships, which suggest different strategies for multi-hunk patch generation and provide important implication for multi-hunk bug repair.<\/jats:p>","DOI":"10.1145\/3660828","type":"journal-article","created":{"date-parts":[[2024,7,12]],"date-time":"2024-07-12T10:22:09Z","timestamp":1720779729000},"page":"2747-2770","source":"Crossref","is-referenced-by-count":10,"title":["Detecting, Creating, Repairing, and Understanding Indivisible Multi-Hunk Bugs"],"prefix":"10.1145","volume":"1","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-0543-4935","authenticated-orcid":false,"given":"Qi","family":"Xin","sequence":"first","affiliation":[{"name":"Wuhan University, Wuhan, China"},{"name":"Hubei Luojia Laboratory, Wuhan, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0003-2255-8689","authenticated-orcid":false,"given":"Haojun","family":"Wu","sequence":"additional","affiliation":[{"name":"Wuhan University, Wuhan, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0001-6963-5800","authenticated-orcid":false,"given":"Jinran","family":"Tang","sequence":"additional","affiliation":[{"name":"Wuhan University, Wuhan, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0008-8935-8848","authenticated-orcid":false,"given":"Xinyu","family":"Liu","sequence":"additional","affiliation":[{"name":"Wuhan University, Wuhan, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0942-1883","authenticated-orcid":false,"given":"Steven P.","family":"Reiss","sequence":"additional","affiliation":[{"name":"Brown University, Providence, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2968-3496","authenticated-orcid":false,"given":"Jifeng","family":"Xuan","sequence":"additional","affiliation":[{"name":"Wuhan University, Wuhan, China"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2024,7,12]]},"reference":[{"key":"e_1_3_1_2_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2019.2944914"},{"key":"e_1_3_1_3_2","unstructured":"AlphaRepair 2023. The AlphaRepair tool. https:\/\/zenodo.org\/records\/6819444"},{"key":"e_1_3_1_4_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-88106-1_11"},{"key":"e_1_3_1_5_2","unstructured":"Angelix 2023. The Angelix tool. http:\/\/angelix.io\/"},{"key":"e_1_3_1_6_2","unstructured":"ARJA-e 2023. The ARJA-e tool. https:\/\/github.com\/yyxhdy\/arja\/tree\/arja-e"},{"key":"e_1_3_1_7_2","unstructured":"Artifact 2023. The artifact. https:\/\/github.com\/qixin5\/indivisible_multihunk_bug_repair"},{"key":"e_1_3_1_8_2","unstructured":"Artifact APR Repair Tools and Results 2023. The tool evaluation part of artifact. https:\/\/github.com\/BaiGeiQiShi\/RepairResults"},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","unstructured":"Jacob Austin Augustus Odena Maxwell Nye Maarten Bosma Henryk Michalewski David Dohan Ellen Jiang Carrie Cai Michael Terry Quoc Le et al. 2021. Program synthesis with large language models. arXiv preprint arXiv:2108.07732 (2021). https:\/\/doi.org\/10.48550\/arXiv.2108.07732 10.48550\/arXiv.2108.07732","DOI":"10.48550\/arXiv.2108.07732"},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","unstructured":"Lili Bo Yue Li Xiaobing Sun Xiaoxue Wu and Bin Li. 2023. Vulloc: vulnerability localization based on inducing commits and fixing commits. Frontiers of Computer Science 17 3 (2023) 173207. https:\/\/doi.org\/10.1007\/s11704-022-1729-x 10.1007\/s11704-022-1729-x","DOI":"10.1007\/s11704-022-1729-x"},{"key":"e_1_3_1_11_2","unstructured":"CatenaD4J 2023. The augmented bug dataset. https:\/\/github.com\/universetraveller\/CatenaD4j"},{"key":"e_1_3_1_12_2","unstructured":"ChatGPT 2023. ChatGPT. https:\/\/chat.openai.com\/"},{"key":"e_1_3_1_13_2","doi-asserted-by":"publisher","DOI":"10.48550\/arXiv.2310.19139"},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2017.8115674"},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11704-021-1013-5"},{"key":"e_1_3_1_16_2","unstructured":"Coming 2023. Coming. https:\/\/github.com\/SpoonLabs\/coming"},{"key":"e_1_3_1_17_2","unstructured":"DEAR 2023. The DEAR tool. https:\/\/github.com\/AutomatedProgramRepair-2021\/dear-auto-fix"},{"key":"e_1_3_1_18_2","unstructured":"DLFix 2023. The DLFix tool. https:\/\/github.com\/ICSE-2019-AUTOFIX\/ICSE-2019-AUTOFIX"},{"key":"e_1_3_1_19_2","volume-title":"The Patches of the Nopol Automatic Repair System on the Bugs of Defects4J version 1.1.0","author":"Durieux Thomas","year":"2017","unstructured":"Thomas Durieux, Benjamin Danglot, Zhongxing Yu, Matias Martinez, Simon Urli, and Martin Monperrus. 2017. The Patches of the Nopol Automatic Repair System on the Bugs of Defects4J version 1.1.0. Research Report hal-01480084. Universit\u00e9 Lille 1 - Sciences et Technologies. https:\/\/hal.science\/hal-01480084"},{"key":"e_1_3_1_20_2","volume-title":"IntroClassJava: A Benchmark of 297 Small and Buggy Java Programs","author":"Durieux Thomas","year":"2016","unstructured":"Thomas Durieux and Martin Monperrus. 2016. IntroClassJava: A Benchmark of 297 Small and Buggy Java Programs. Technical Report hal-01272126. Universite Lille 1. https:\/\/hal.archives-ouvertes.fr\/hal-01272126\/document"},{"key":"e_1_3_1_21_2","unstructured":"Eclipse 2023. The Eclipse IDE 2023-06 R Packages. https:\/\/www.eclipse.org\/downloads\/packages\/release\/2023-06\/r"},{"key":"e_1_3_1_22_2","doi-asserted-by":"publisher","DOI":"10.48550\/arXiv.2401.01701"},{"key":"e_1_3_1_23_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE48619.2023.00128"},{"key":"e_1_3_1_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/3418461"},{"key":"e_1_3_1_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330559"},{"key":"e_1_3_1_26_2","unstructured":"GitDiff 2023. The Git diff utility. https:\/\/git-scm.com\/docs\/git-diff"},{"key":"e_1_3_1_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/3318162"},{"key":"e_1_3_1_28_2","doi-asserted-by":"publisher","DOI":"10.1561\/2500000010"},{"key":"e_1_3_1_29_2","unstructured":"GZoltar 2023. The GZoltar tool. https:\/\/gzoltar.com\/"},{"key":"e_1_3_1_30_2","unstructured":"ITER 2024. The ITER tool. https:\/\/github.com\/ASSERT-KTH\/ITER"},{"key":"e_1_3_1_31_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11432-018-1465-6"},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/3213846.3213871"},{"key":"e_1_3_1_33_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE48619.2023.00125"},{"key":"e_1_3_1_34_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE48619.2023.00111"},{"key":"e_1_3_1_35_2","doi-asserted-by":"publisher","DOI":"10.1145\/2610384.2628055"},{"key":"e_1_3_1_36_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606626"},{"key":"e_1_3_1_37_2","doi-asserted-by":"publisher","DOI":"10.1145\/3555776.3577762"},{"key":"e_1_3_1_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/1368088.1368130"},{"key":"e_1_3_1_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/3383458"},{"key":"e_1_3_1_40_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2011.104"},{"key":"e_1_3_1_41_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380345"},{"key":"e_1_3_1_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/3510003.3510177"},{"key":"e_1_3_1_43_2","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330577"},{"key":"e_1_3_1_44_2","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2019.8667991"},{"key":"e_1_3_1_45_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-016-9470-4"},{"key":"e_1_3_1_46_2","unstructured":"MCRepair 2023. The artifact of MCRepair. https:\/\/github.com\/kimjisung78\/MCRepair"},{"key":"e_1_3_1_47_2","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884807"},{"key":"e_1_3_1_48_2","doi-asserted-by":"publisher","DOI":"10.1145\/3510003.3510147"},{"key":"e_1_3_1_49_2","doi-asserted-by":"publisher","unstructured":"Xiangxin Meng Xu Wang Hongyu Zhang Hailong Sun Xudong Liu and Chunming Hu. 2023. Template-based Neural Program Repair. In 2023 IEEE\/ACM 45th International Conference on Software Engineering (ICSE). 1456-1468. https:\/\/doi.org\/10.1109\/ICSE48619.2023.00127 10.1109\/ICSE48619.2023.00127","DOI":"10.1109\/ICSE48619.2023.00127"},{"key":"e_1_3_1_50_2","volume-title":"The Living review on automated program repair","author":"Monperrus Martin","year":"2018","unstructured":"Martin Monperrus . 2018. The Living review on automated program repair. Technical Report hal-01956501. HAL\/archives- ouvertes.fr."},{"key":"e_1_3_1_51_2","unstructured":"ODS 2023. ODS. https:\/\/github.com\/SophieHYe\/ODSExperiment"},{"key":"e_1_3_1_52_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2017.9"},{"key":"e_1_3_1_53_2","doi-asserted-by":"publisher","DOI":"10.1145\/3524459.3527351"},{"key":"e_1_3_1_54_2","unstructured":"Recoder 2023. The Recoder tool. https:\/\/github.com\/pkuzqh\/Recoder"},{"key":"e_1_3_1_55_2","unstructured":"RewardRepair 2023. The Reward Repair tool. https:\/\/github.com\/ASSERT-KTH\/RewardRepair"},{"key":"e_1_3_1_56_2","doi-asserted-by":"publisher","DOI":"10.1145\/3196398.3196473"},{"key":"e_1_3_1_57_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2017.8115675"},{"key":"e_1_3_1_58_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00020"},{"key":"e_1_3_1_59_2","unstructured":"SimFix 2023. The SimFix tool. https:\/\/github.com\/xgdsmileboy\/SimFix"},{"key":"e_1_3_1_60_2","doi-asserted-by":"publisher","unstructured":"Dominik Sobania Martin Briesch Carol Hanna and Justyna Petke. 2023. An analysis of the automatic bug fixing performance of chatgpt. arXiv preprint arXiv:2301.08653 (2023). https:\/\/doi.org\/10.48550\/arXiv.2301.08653 10.48550\/arXiv.2301.08653","DOI":"10.48550\/arXiv.2301.08653"},{"key":"e_1_3_1_61_2","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2018.8330203"},{"key":"e_1_3_1_62_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2022.111452"},{"key":"e_1_3_1_63_2","unstructured":"Soot 2023. The Soot framework. http:\/\/soot-oss.github.io\/soot\/"},{"key":"e_1_3_1_64_2","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950295"},{"key":"e_1_3_1_65_2","unstructured":"TBar 2023. The TBar tool. https:\/\/github.com\/TruX-DTF\/TBar"},{"issue":"3","key":"e_1_3_1_66_2","doi-asserted-by":"crossref","first-page":"930","DOI":"10.1109\/TSE.2020.3007722","article-title":"RefactoringMiner 2.0","volume":"48","author":"Tsantalis Nikolaos","year":"2020","unstructured":"Nikolaos Tsantalis, Ameya Ketkar, and Danny Dig. 2020. RefactoringMiner 2.0. IEEE Transactions on Software Engineering (TSE) 48, 3 (2020), 930-950. https:\/\/doi.org\/10.1109\/TSE.2020.3007722","journal-title":"IEEE Transactions on Software Engineering (TSE)"},{"key":"e_1_3_1_67_2","unstructured":"VarFix 2023. The VarFix tool. https:\/\/github.com\/chupanw\/vbc"},{"key":"e_1_3_1_68_2","doi-asserted-by":"publisher","unstructured":"Song Wang Taiyue Liu and Lin Tan. 2016. Automatically learning semantic features for defect prediction. In Proceedings of the 38th International Conference on Software Engineering (ICSE). 297-308. https:\/\/doi.org\/10.1145\/2884781.2884804 10.1145\/2884781.2884804","DOI":"10.1145\/2884781.2884804"},{"key":"e_1_3_1_69_2","doi-asserted-by":"publisher","DOI":"10.1145\/3611643.3616271"},{"key":"e_1_3_1_70_2","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180233"},{"key":"e_1_3_1_71_2","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468600"},{"key":"e_1_3_1_72_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE48619.2023.00129"},{"key":"e_1_3_1_73_2","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3549101"},{"key":"e_1_3_1_74_2","doi-asserted-by":"publisher","DOI":"10.48550\/arXiv.2304.00385"},{"key":"e_1_3_1_75_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2017.8115676"},{"key":"e_1_3_1_76_2","doi-asserted-by":"publisher","unstructured":"Qi Xin Haojun Wu Jinran Tang Xinyu Liu Steven P. Reiss and Jifeng Xuan. 2024. Detecting Creating Repairing and Understanding Indivisible Multi-Hunk Bugs: Replication Package. https:\/\/doi.org\/10.5281\/zenodo.11097846 10.5281\/zenodo.11097846","DOI":"10.5281\/zenodo.11097846"},{"key":"e_1_3_1_77_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2017.45"},{"key":"e_1_3_1_78_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2016.2560811"},{"key":"e_1_3_1_79_2","doi-asserted-by":"publisher","DOI":"10.1145\/3551349.3556893"},{"key":"e_1_3_1_80_2","doi-asserted-by":"publisher","DOI":"10.1145\/3510003.3510222"},{"key":"e_1_3_1_81_2","doi-asserted-by":"publisher","DOI":"10.1145\/3597503.3623337"},{"key":"e_1_3_1_82_2","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106262"},{"key":"e_1_3_1_83_2","doi-asserted-by":"publisher","DOI":"10.1002\/stv.430"},{"key":"e_1_3_1_84_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2018.2874648"},{"key":"e_1_3_1_85_2","doi-asserted-by":"publisher","DOI":"10.1145\/3321707.3321830"},{"key":"e_1_3_1_86_2","doi-asserted-by":"publisher","DOI":"10.1145\/3360004"},{"key":"e_1_3_1_87_2","doi-asserted-by":"publisher","DOI":"10.1002\/smr.2178"},{"key":"e_1_3_1_88_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2020.106312"},{"key":"e_1_3_1_89_2","doi-asserted-by":"publisher","DOI":"10.1145\/3631974"},{"key":"e_1_3_1_90_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.101"},{"key":"e_1_3_1_91_2","doi-asserted-by":"publisher","DOI":"10.1145\/3597503.3623310"},{"key":"e_1_3_1_92_2","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468544"}],"container-title":["Proceedings of the ACM on Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3660828","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3660828","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,2,4]],"date-time":"2026-02-04T07:53:43Z","timestamp":1770191623000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3660828"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,7,12]]},"references-count":91,"journal-issue":{"issue":"FSE","published-print":{"date-parts":[[2024,7,12]]}},"alternative-id":["10.1145\/3660828"],"URL":"https:\/\/doi.org\/10.1145\/3660828","relation":{},"ISSN":["2994-970X"],"issn-type":[{"value":"2994-970X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,7,12]]}}}