{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T01:08:11Z","timestamp":1760058491590,"version":"build-2065373602"},"reference-count":70,"publisher":"Association for Computing Machinery (ACM)","issue":"OOPSLA1","license":[{"start":{"date-parts":[[2025,4,9]],"date-time":"2025-04-09T00:00:00Z","timestamp":1744156800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2025,4,9]]},"abstract":"<jats:p>Automated Program Repair (APR) holds the promise of alleviating the burden of debugging and fixing software bugs. Despite this, developers still need to manually inspect each patch to confirm its correctness, which is tedious and time-consuming. This challenge is exacerbated in the presence of plausible patches, which accidentally pass test cases but may not correctly fix the bug. To address this challenge, we propose an interactive approach called iFix to facilitate patch understanding and comparison based on their runtime difference. iFix performs static analysis to identify runtime variables related to the buggy statement and captures their runtime values during execution for each patch. These values are then aligned across different patch candidates, allowing users to compare and contrast their runtime behavior. To evaluate iFix, we conducted a within-subjects user study with 28 participants. Compared with manual inspection and a state-of-the-art interactive patch filtering technique, iFix reduced participants\u2019 task completion time by 36% and 33% while also improving their confidence by 50% and 20%, respectively. Besides, quantitative experiments demonstrate that iFix improves the ranking of correct patches by at least 39% compared with other patch ranking methods and is generalizable to different APR tools.<\/jats:p>","DOI":"10.1145\/3720510","type":"journal-article","created":{"date-parts":[[2025,4,9]],"date-time":"2025-04-09T13:48:26Z","timestamp":1744206506000},"page":"1831-1857","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Show Me Why It\u2019s Correct: Saving 1\/3 of Debugging Time in Program Repair with Interactive Runtime Comparison"],"prefix":"10.1145","volume":"9","author":[{"ORCID":"https:\/\/orcid.org\/0009-0002-9298-0925","authenticated-orcid":false,"given":"Ruixin","family":"Wang","sequence":"first","affiliation":[{"name":"Purdue University, West Lafayette, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2365-9898","authenticated-orcid":false,"given":"Zhongkai","family":"Zhao","sequence":"additional","affiliation":[{"name":"National University of Singapore, Singapore, Singapore"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0005-1351-5681","authenticated-orcid":false,"given":"Le","family":"Fang","sequence":"additional","affiliation":[{"name":"Purdue University, West Lafayette, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8518-2576","authenticated-orcid":false,"given":"Nan","family":"Jiang","sequence":"additional","affiliation":[{"name":"Purdue University, West Lafayette, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4066-3365","authenticated-orcid":false,"given":"Yiling","family":"Lou","sequence":"additional","affiliation":[{"name":"Fudan University, Shanghai, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6690-8332","authenticated-orcid":false,"given":"Lin","family":"Tan","sequence":"additional","affiliation":[{"name":"Purdue University, West Lafayette, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5468-9347","authenticated-orcid":false,"given":"Tianyi","family":"Zhang","sequence":"additional","affiliation":[{"name":"Purdue University, West Lafayette, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2025,4,9]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"[n. d.]. Hierarchical Clustering Wikipedia. https:\/\/en.wikipedia.org\/wiki\/Hierarchical_clustering Accessed on 2023"},{"key":"e_1_2_1_2_1","unstructured":"[n. d.]. iFix Artifact. https:\/\/github.com\/ailen-wrx\/ifix Accessed on 2025"},{"key":"e_1_2_1_3_1","unstructured":"[n. d.]. K-means Clustering Wikipedia. https:\/\/en.wikipedia.org\/wiki\/K-means_clustering Accessed on 2023"},{"key":"e_1_2_1_4_1","unstructured":"[n. d.]. K-nearest Neighbors Algorithm Wikipedia. https:\/\/en.wikipedia.org\/wiki\/K-nearest_neighbors_algorithm Accessed on 2023"},{"key":"e_1_2_1_5_1","unstructured":"[n. d.]. [MATH-790] Mann-Whitney U Test Suffers From Integer Overflow With Large Data Sets. https:\/\/issues.apache.org\/jira\/browse\/MATH-790 Accessed on 2023"},{"key":"e_1_2_1_6_1","unstructured":"[n. d.]. XStream - About XStream. https:\/\/x-stream.github.io\/ Accessed on 2023"},{"key":"e_1_2_1_7_1","unstructured":"2021. Rollbar Research Shows That Traditional Error Monitoring Is Missing the Mark. https:\/\/www.businesswire.com\/news\/home\/20210216005484\/en\/Rollbar-Research-Shows-That-Traditional-Error-Monitoring-Is-Missing-the-Mark Accessed: 2023-03-29"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-981-16-0878-0_60"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1177\/1049732319889354"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICST46399.2020.00036"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/VLHCC.2019.8818884"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00046"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","unstructured":"Zimin Chen Steve Kommrusch Michele Tufano Louis-No\u00ebl Pouchet Denys Poshyvanyk and Martin Monperrus. 2019. SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repair. https:\/\/doi.org\/10.1109\/TSE.2019.2940179 arXiv:1901.01808 [cs stat] 10.1109\/TSE.2019.2940179","DOI":"10.1109\/TSE.2019.2940179"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-41540-6_21"},{"key":"e_1_2_1_15_1","volume-title":"Claire Le Goues, and Yuriy Brun","author":"Eladawy Hadeel","year":"2024","unstructured":"Hadeel Eladawy, Claire Le Goues, and Yuriy Brun. 2024. . http:\/\/people.cs.umass.edu\/brun\/pubs\/pubs\/Eladawy24icse.pdf In Proceedings of the 46th International Conference on Software Engineering (ICSE). Lisbon, Portugal."},{"key":"e_1_2_1_16_1","doi-asserted-by":"crossref","unstructured":"Zhangyin Feng Daya Guo Duyu Tang Nan Duan Xiaocheng Feng Ming Gong Linjun Shou Bing Qin Ting Liu Daxin Jiang and Ming Zhou. 2020. CodeBERT: A Pre-Trained Model for Programming and Natural Languages. arxiv:2002.08155. arxiv:2002.08155","DOI":"10.18653\/v1\/2020.findings-emnlp.139"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1016\/0191-8869(86)90014-0"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/3387940.3392179"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2017.2755013"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/3533767.3534368"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0166-4115(08)62386-9"},{"key":"e_1_2_1_22_1","unstructured":"Yue Jia Ke Mao and Mark Harman. 2018. Finding and fixing software bugs automatically with SapFix and Sapienz. https:\/\/engineering.fb.com\/2018\/09\/13\/developer-tools\/finding-and-fixing-software-bugs-automatically-with-sapfix-and-sapienz\/"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3213846.3213871"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE48619.2023.00111"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE43902.2021.00107"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2610384.2628055"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-013-9279-3"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106309"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2016.76"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3182536"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380345"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSME52107.2021.00028"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/3505247"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2017.43"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330577"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884872"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2837614.2837617"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/3395363.3397369"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE-SEIP.2019.00039"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-024-10503-2"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-99241-9_3"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2015.63"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","unstructured":"Yannic Noller Ridwan Shariffdeen Xiang Gao and Abhik Roychoudhury. 2022. Trust Enhancement Issues in Program Repair. arXiv. https:\/\/doi.org\/10.48550\/arXiv.2108.13064 arXiv:2108.13064 [cs] type: article 10.48550\/arXiv.2108.13064","DOI":"10.48550\/arXiv.2108.13064"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2017.8115675"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2017.8115675"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786825"},{"key":"e_1_2_1_47_1","unstructured":"stripe.com. [n. d.]. The Developer Coefcient: Sofware engineering efciency and its $3 trillion impact on global GDP. https:\/\/stripe.com\/files\/reports\/the-developer-coefficient.pdf [Accessed 15-10-2024]"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/COMPSAC.2018.00030"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/3491102.3501957"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950295"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","unstructured":"Ruixin Wang. 2025. Artifact for Paper \"Show Me Why It\u2019s Correct: Saving 1\/3 of Debugging Time in Program Repair with Interactive Runtime Comparison\". https:\/\/doi.org\/10.5281\/zenodo.14928064 10.5281\/zenodo.14928064","DOI":"10.5281\/zenodo.14928064"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/3324884.3416590"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180233"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180233"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2022.3194188"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2022.3152089"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468600"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","unstructured":"Chunqiu Steven Xia and Lingming Zhang. 2022. Less Training More Repairing Please: Revisiting Automated Program Repair via Zero-shot Learning. arXiv. https:\/\/doi.org\/10.48550\/arXiv.2207.08281 arXiv:2207.08281 [cs] type: article 10.48550\/arXiv.2207.08281","DOI":"10.48550\/arXiv.2207.08281"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/3650212.3680323"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2017.8115676"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180182"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2017.45"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2016.2560811"},{"key":"e_1_2_1_64_1","unstructured":"Aidan Z. H. Yang Sophia Kolak Vincent J. Hellendoorn Ruben Martins and Claire Le Goues. 2024. Revisiting Unnaturalness for Automated Program Repair in the Era of Large Language Models. arxiv:2404.15236. arxiv:2404.15236"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/3611643.3616331"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2021.3071750"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/3510003.3510222"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2018.2874648"},{"key":"e_1_2_1_69_1","unstructured":"Quanjun Zhang Chunrong Fang Yuxiang Ma Weisong Sun and Zhenyu Chen. 2023. A Survey of Learning-based Automated Program Repair. arxiv:2301.03270."},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.48550\/arXiv.2203.05166"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3720510","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3720510","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T17:10:57Z","timestamp":1760029857000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3720510"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,4,9]]},"references-count":70,"journal-issue":{"issue":"OOPSLA1","published-print":{"date-parts":[[2025,4,9]]}},"alternative-id":["10.1145\/3720510"],"URL":"https:\/\/doi.org\/10.1145\/3720510","relation":{},"ISSN":["2475-1421"],"issn-type":[{"type":"electronic","value":"2475-1421"}],"subject":[],"published":{"date-parts":[[2025,4,9]]},"assertion":[{"value":"2024-10-16","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-02-18","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-04-09","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}