{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,8]],"date-time":"2026-03-08T00:48:23Z","timestamp":1772930903868,"version":"3.50.1"},"reference-count":70,"publisher":"Association for Computing Machinery (ACM)","issue":"FSE","funder":[{"DOI":"10.13039\/501100001809","name":"NSFC","doi-asserted-by":"crossref","award":["No. 62272473, No.U2441238, No.62202474"],"award-info":[{"award-number":["No. 62272473, No.U2441238, No.62202474"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"crossref"}]},{"name":"the Science and Technology Innovation Program of Hunan Province","award":["No.2023RC1001 and No. 2023RC3012"],"award-info":[{"award-number":["No.2023RC1001 and No. 2023RC3012"]}]},{"name":"National University of Defense Technology Research Project","award":["No.ZK24-01"],"award-info":[{"award-number":["No.ZK24-01"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. ACM Softw. Eng."],"published-print":{"date-parts":[[2025,6,19]]},"abstract":"<jats:p>Error handling is critical for software reliability. In software systems, error handling may be delayed to other functions. Such propagated error handling (PEH) could easily be missed and lead to bugs. Our research reveals that PEH bugs are prevalent in software systems and, on average, take 44.1 days to fully address. Existing approaches have primarily focused on the error-handling bug within individual functions, which makes it difficult to fully address PEH bugs.<\/jats:p>\n          <jats:p>In this paper, we conducted the first in-depth study on PEH bugs in 11 mature software systems, examining how errors propagate and how they should be handled. We introduce EH-Fixer, an LLM-based tool for automated program repair specifically designed to address PEH bugs. For each PEH bug, EH-Fixer constructs its propagation path, and repairs them through retrieval-augmented generation. To assess the performance of our approach, we collected 89 historical PEH bugs from the Linux Kernel as well as 9 widely used applications. The experimental results show that EH-Fixer can fix 83.1% (74\/89) of PEH bugs.<\/jats:p>","DOI":"10.1145\/3729384","type":"journal-article","created":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T15:15:34Z","timestamp":1750346134000},"page":"2571-2593","source":"Crossref","is-referenced-by-count":1,"title":["Error Delayed Is Not Error Handled: Understanding and Fixing Propagated Error-Handling Bugs"],"prefix":"10.1145","volume":"2","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4493-4265","authenticated-orcid":false,"given":"Haoran","family":"Liu","sequence":"first","affiliation":[{"name":"National University of Defense Technology, Changsha, China"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0798-974X","authenticated-orcid":false,"given":"Shanshan","family":"Li","sequence":"additional","affiliation":[{"name":"National University of Defense Technology, Changsha, China"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2533-4547","authenticated-orcid":false,"given":"Zhouyang","family":"Jia","sequence":"additional","affiliation":[{"name":"National University of Defense Technology, Changsha, China"}]},{"ORCID":"https:\/\/orcid.org\/0009-0006-6042-7489","authenticated-orcid":false,"given":"Yuanliang","family":"Zhang","sequence":"additional","affiliation":[{"name":"National University of Defense Technology, Changsha, China"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9200-7060","authenticated-orcid":false,"given":"Linxiao","family":"Bai","sequence":"additional","affiliation":[{"name":"National University of Defense Technology, Changsha, China"}]},{"ORCID":"https:\/\/orcid.org\/0009-0002-6363-859X","authenticated-orcid":false,"given":"Si","family":"Zheng","sequence":"additional","affiliation":[{"name":"National University of Defense Technology, Changsha, China"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4204-7424","authenticated-orcid":false,"given":"Xiaoguang","family":"Mao","sequence":"additional","affiliation":[{"name":"National University of Defense Technology, Changsha, China"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6125-3330","authenticated-orcid":false,"given":"Xiangke","family":"Liao","sequence":"additional","affiliation":[{"name":"National University of Defense Technology, Changsha, China"}]}],"member":"320","published-online":{"date-parts":[[2025,6,19]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"International Conference on Fundamental Approaches to Software Engineering. Springer, 370\u2013384","author":"Acharya Mithun","year":"2009","unstructured":"Mithun Acharya and Tao Xie. 2009. Mining API error-handling specifications from source code. In International Conference on Fundamental Approaches to Software Engineering. Springer, 370\u2013384."},{"key":"e_1_2_1_2_1","unstructured":"Anon. 2025. Examples of Static Analysis and Key Prompts. https:\/\/github.com\/EH-Fixer\/EH-Fixer\/blob\/main\/Example\/Example.pdf Accessed: 2025-02-23."},{"key":"e_1_2_1_3_1","unstructured":"Anon. 2025. Separate Results of the Study. https:\/\/github.com\/EH-Fixer\/EH-Fixer\/blob\/main\/Study\/Separate Accessed: 2025-02-23."},{"key":"e_1_2_1_4_1","volume-title":"2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence). IEEE, 162\u2013168","author":"Arcuri Andrea","year":"2008","unstructured":"Andrea Arcuri and Xin Yao. 2008. A novel co-evolutionary approach to automatic software bug fixing. In 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence). IEEE, 162\u2013168."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3182539"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2018.2816639"},{"key":"e_1_2_1_7_1","volume-title":"Detecting Inconsistencies in If-Condition-Raise Statements. In 37th IEEE\/ACM International Conference on Automated Software Engineering. 1\u20133.","author":"Bouzenia Islem","year":"2022","unstructured":"Islem Bouzenia. 2022. Detecting Inconsistencies in If-Condition-Raise Statements. In 37th IEEE\/ACM International Conference on Automated Software Engineering. 1\u20133."},{"key":"e_1_2_1_8_1","volume-title":"https:\/\/tree-sitter.github.io\/tree-sitter\/ Accessed 1","author":"Brunsfeld M.","year":"2021","unstructured":"M. Brunsfeld. 2023. Tree-sitter. https:\/\/tree-sitter.github.io\/tree-sitter\/ Accessed 1. October 2021."},{"key":"e_1_2_1_9_1","volume-title":"Combating Fault Tolerance Bugs in Cloud Systems","author":"Chen Haicheng","unstructured":"Haicheng Chen. 2021. Combating Fault Tolerance Bugs in Cloud Systems. The Ohio State University."},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the 2024 IEEE\/ACM 46th International Conference on Software Engineering: Companion Proceedings. 459\u2013471","author":"Chen Yuxiao","year":"2024","unstructured":"Yuxiao Chen, Jingzheng Wu, Xiang Ling, Changjiang Li, Zhiqing Rui, Tianyue Luo, and Yanjun Wu. 2024. When Large Language Models Confront Repository-Level Automatic Program Repair: How Well They Done?. In Proceedings of the 2024 IEEE\/ACM 46th International Conference on Software Engineering: Companion Proceedings. 459\u2013471."},{"key":"e_1_2_1_11_1","first-page":"1943","article-title":"Sequencer: Sequence-to-sequence learning for end-to-end program repair","volume":"47","author":"Chen Zimin","year":"2019","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. IEEE Transactions on Software Engineering 47, 9 (2019), 1943\u20131959.","journal-title":"IEEE Transactions on Software Engineering"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/3338906.3338960"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2593735.2593740"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330559"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2970276.2970360"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1609\/aaai.v31i1.10742"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3236024.3264600"},{"key":"e_1_2_1_18_1","volume-title":"USENIX Security Symposium. 345\u2013362","author":"Jana Suman","year":"2016","unstructured":"Suman Jana, Yuan Jochen Kang, Samuel Roth, and Baishakhi Ray. 2016. Automatically Detecting Error Handling Bugs Using Error Specifications.. In USENIX Security Symposium. 345\u2013362."},{"key":"e_1_2_1_19_1","volume-title":"2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 61\u201371","author":"Jia Zhouyang","year":"2018","unstructured":"Zhouyang Jia, Shanshan Li, Xiaodong Liu, Xiangke Liao, and Yunhuai Liu. 2018. SMARTLOG: Place error log statement by deep understanding of log intention. In 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 61\u201371."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/3338906.3338938"},{"key":"e_1_2_1_21_1","volume-title":"2019 34th IEEE\/ACM International Conference on Automated Software Engineering (ASE). IEEE, 213\u2013225","author":"Jia Zhouyang","year":"2019","unstructured":"Zhouyang Jia, Shanshan Li, Tingting Yu, Xiangke Liao, Ji Wang, Xiaodong Liu, and Yunhuai Liu. 2019. Detecting error-handling bugs without error specification input. In 2019 34th IEEE\/ACM International Conference on Automated Software Engineering (ASE). IEEE, 213\u2013225."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE48619.2023.00125"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE43902.2021.00107"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF02289588"},{"key":"e_1_2_1_25_1","volume-title":"2023 IEEE\/ACM 45th International Conference on Software Engineering (ICSE). IEEE, 2438\u20132449","author":"Le Van-Hoang","year":"2023","unstructured":"Van-Hoang Le and Hongyu Zhang. 2023. Log parsing with prompt-based few-shot learning. In 2023 IEEE\/ACM 45th International Conference on Software Engineering (ICSE). IEEE, 2438\u20132449."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106309"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2016.76"},{"key":"e_1_2_1_28_1","volume-title":"Genprog: A generic method for automatic software repair. Ieee transactions on software engineering 38, 1","author":"Goues Claire Le","year":"2011","unstructured":"Claire Le Goues, ThanhVu Nguyen, Stephanie Forrest, and Westley Weimer. 2011. Genprog: A generic method for automatic software repair. Ieee transactions on software engineering 38, 1 (2011), 54\u201372."},{"key":"e_1_2_1_29_1","volume-title":"How test suites impact fault localisation starting from the size. IET software 12, 3","author":"Lei Yan","year":"2018","unstructured":"Yan Lei, Chengnian Sun, Xiaoguang Mao, and Zhendong Su. 2018. How test suites impact fault localisation starting from the size. IET software 12, 3 (2018), 190\u2013205."},{"key":"e_1_2_1_30_1","volume-title":"Sensing Error Handling Bugs in SSL Library Usages. In 2021 IEEE 20th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom). IEEE, 686\u2013692","author":"Li Chi","year":"2021","unstructured":"Chi Li, Min Zhou, Xinrong Han, and Ming Gu. 2021. Sensing Error Handling Bugs in SSL Library Usages. In 2021 IEEE 20th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom). IEEE, 686\u2013692."},{"key":"e_1_2_1_31_1","volume-title":"Proceedings of the ACM on Software Engineering 1, FSE (2024","author":"Liu Haoran","year":"2024","unstructured":"Haoran Liu, Zhouyang Jia, Shanshan Li, Yan Lei, Yue Yu, Yu Jiang, Xiaoguang Mao, and Xiangke Liao. 2024. Cut to the Chase: An Error-Oriented Approach to Detect Error-Handling Bugs. Proceedings of the ACM on Software Engineering 1, FSE (2024), 1796\u20131818."},{"key":"e_1_2_1_32_1","volume-title":"2014 IEEE 38th Annual Computer Software and Applications Conference. IEEE, 33\u201342","author":"Liu Huqiu","year":"2014","unstructured":"Huqiu Liu, Yuping Wang, Lingbo Jiang, and Shimin Hu. 2014. PF-Miner: A new paired functions mining method for Android kernel in error paths. In 2014 IEEE 38th Annual Computer Software and Applications Conference. IEEE, 33\u201342."},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/SANER.2019.8667970"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330577"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/APSEC.2018.00085"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786811"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/3395363.3397369"},{"key":"e_1_2_1_38_1","volume-title":"Lingma swe-gpt: An open development-process-centric language model for automated software improvement. arXiv preprint arXiv:2411.00622","author":"Ma Yingwei","year":"2024","unstructured":"Yingwei Ma, Rongyu Cao, Yongchang Cao, Yue Zhang, Jue Chen, Yibo Liu, Yuchen Liu, Binhua Li, Fei Huang, and Yongbin Li. 2024. Lingma swe-gpt: An open development-process-centric language model for automated software improvement. arXiv preprint arXiv:2411.00622 (2024)."},{"key":"e_1_2_1_39_1","volume-title":"At which training stage does code data help llms reasoning? arXiv preprint arXiv:2309.16298","author":"Ma Yingwei","year":"2023","unstructured":"Yingwei Ma, Yue Liu, Yue Yu, Yuanliang Zhang, Yu Jiang, Changjian Wang, and Shanshan Li. 2023. At which training stage does code data help llms reasoning? arXiv preprint arXiv:2309.16298 (2023)."},{"key":"e_1_2_1_40_1","volume-title":"How to understand whole software repository? arXiv preprint arXiv:2406.01422","author":"Ma Yingwei","year":"2024","unstructured":"Yingwei Ma, Qingping Yang, Rongyu Cao, Binhua Li, Fei Huang, and Yongbin Li. 2024. How to understand whole software repository? arXiv preprint arXiv:2406.01422 (2024)."},{"key":"e_1_2_1_41_1","volume-title":"2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 120\u2013131","author":"Ma Yingwei","year":"2023","unstructured":"Yingwei Ma, Yue Yu, Shanshan Li, Zhouyang Jia, Jun Ma, Rulin Xu, Wei Dong, and Xiangke Liao. 2023. Mulcs: Towards a unified deep representation for multilingual code search. In 2023 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 120\u2013131."},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.5555\/2747476.2747526"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2931037.2948705"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884807"},{"key":"e_1_2_1_45_1","volume-title":"2019 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 390\u2013393","author":"Nguyen Tam","year":"2019","unstructured":"Tam Nguyen, Phong Vu, and Tung Nguyen. 2019. Recommending exception handling code. In 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 390\u2013393."},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2017.10.032"},{"key":"e_1_2_1_47_1","unstructured":"OpenAI. 2023. GPT-4 Turbo and GPT-4 Models. https:\/\/platform.openai.com\/docs\/models\/gpt-4-turbo-and-gpt-4 Accessed: 2024-09-11."},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/3372297.3417256"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/355045.355046"},{"key":"e_1_2_1_50_1","volume-title":"2020 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 12\u201322","author":"Rong Guoping","year":"2020","unstructured":"Guoping Rong, Yangchen Xu, Shenghui Gu, He Zhang, and Dong Shao. 2020. Can you capture information as you intend to? A case study on logging practice in industry. In 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 12\u201322."},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542506"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/361219.361220"},{"key":"e_1_2_1_53_1","volume-title":"Detecting API Missing-Check Bugs Through Complete Cross Checking of Erroneous Returns. In International Conference on Information Security and Cryptology. Springer, 391\u2013407","author":"Shen Qintao","year":"2023","unstructured":"Qintao Shen, Hongyu Sun, Guozhu Meng, Kai Chen, and Yuqing Zhang. 2023. Detecting API Missing-Check Bugs Through Complete Cross Checking of Erroneous Returns. In International Conference on Information Security and Cryptology. Springer, 391\u2013407."},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048146"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106300"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/3611643.3616256"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/1028976.1029011"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/1330017.1330019"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070536"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180233"},{"key":"e_1_2_1_61_1","volume-title":"Proceedings of the ACM on Programming Languages 3, OOPSLA","author":"Wu Baijun","year":"2019","unstructured":"Baijun Wu, John Peter Campora III, Yi He, Alexander Schlecht, and Sheng Chen. 2019. Generating precise error specifications for c: A zero shot learning approach. Proceedings of the ACM on Programming Languages 3, OOPSLA (2019), 1\u201330."},{"key":"e_1_2_1_62_1","volume-title":"the 30th USENIX Security Symposium (Security\u201921)","author":"Wu Qiushi","year":"2021","unstructured":"Qiushi Wu, Aditya Pakki, Navid Emamdoost, Stephen McCamant, and Kangjie Lu. 2021. Understanding and detecting disordered error handling with precise function pairing. In the 30th USENIX Security Symposium (Security\u201921)."},{"key":"e_1_2_1_63_1","volume-title":"Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA\u201924)","author":"Xia Chunqiu Steven","year":"2024","unstructured":"Chunqiu Steven Xia and Lingming Zhang. 2024. Keep the Conversation Going: Fixing 162 out of 337 bugs for $0.42 each using ChatGPT. In Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA\u201924)."},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00063"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/2508859.2516665"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/3551349.3556926"},{"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":"crossref","first-page":"684","DOI":"10.1109\/TSE.2022.3160155","article-title":"ErrHunter: Detecting Error-Handling Bugs in the Linux Kernel Through Systematic Static Analysis","volume":"49","author":"Zhan Dongyang","year":"2022","unstructured":"Dongyang Zhan, Xiangzhan Yu, Hongli Zhang, and Lin Ye. 2022. ErrHunter: Detecting Error-Handling Bugs in the Linux Kernel Through Systematic Static Analysis. IEEE Transactions on Software Engineering 49, 2 (2022), 684\u2013698.","journal-title":"IEEE Transactions on Software Engineering"},{"key":"e_1_2_1_69_1","volume-title":"2023 38th IEEE\/ACM International Conference on Automated Software Engineering (ASE). IEEE, 535\u2013547","author":"Zhang Quanjun","year":"2023","unstructured":"Quanjun Zhang, Chunrong Fang, Tongke Zhang, Bowen Yu, Weisong Sun, and Zhenyu Chen. 2023. Gamma: Revisiting template-based automated program repair via mask prediction. In 2023 38th IEEE\/ACM International Conference on Automated Software Engineering (ASE). IEEE, 535\u2013547."},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/3551349.3556895"}],"container-title":["Proceedings of the ACM on Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3729384","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T15:16:16Z","timestamp":1750346176000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3729384"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,6,19]]},"references-count":70,"journal-issue":{"issue":"FSE","published-print":{"date-parts":[[2025,6,19]]}},"alternative-id":["10.1145\/3729384"],"URL":"https:\/\/doi.org\/10.1145\/3729384","relation":{},"ISSN":["2994-970X"],"issn-type":[{"value":"2994-970X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,6,19]]}}}