{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,8,24]],"date-time":"2026-08-24T17:25:31Z","timestamp":1787592331327,"version":"build-2736575974"},"reference-count":52,"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\/legalcode"}],"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>We present PAFL, a new technique for enhancing existing fault localization methods by leveraging projectspecific fault patterns. We observed that each software project has its own challenges and suffers from recurring fault patterns associated with those challenges. However, existing fault localization techniques use a universal localization strategy without considering those repetitive faults. To address this limitation, our technique, called project-aware fault localization (PAFL), enables existing fault localizers to leverage project-specific fault patterns. Given a buggy version of a project and a baseline fault localizer, PAFL first mines the fault patterns from past buggy versions of the project. Then, it uses the mined fault patterns to update the suspiciousness scores of statements computed by the baseline fault localizer. To this end, we use two novel ideas. First, we design a domain-specific fault pattern-description language to represent various fault patterns. An instance, called crossword, in our language describes a project-specific fault pattern and how it affects the suspiciousness scores of statements. Second, we develop an algorithm that synthesizes crosswords (i.e., fault patterns) from past buggy versions of the project. Evaluation using seven baseline fault localizers and 12 real-world C\/C++ and Python projects demonstrates that PAFL effectively, robustly, and efficiently improves the performance of the baseline fault localization techniques.<\/jats:p>","DOI":"10.1145\/3720526","type":"journal-article","created":{"date-parts":[[2025,4,9]],"date-time":"2025-04-09T13:48:26Z","timestamp":1744206506000},"page":"1378-1405","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["PAFL: Enhancing Fault Localizers by Leveraging Project-Specific Fault Patterns"],"prefix":"10.1145","volume":"9","author":[{"ORCID":"https:\/\/orcid.org\/0009-0009-7531-3654","authenticated-orcid":false,"given":"Donguk","family":"Kim","sequence":"first","affiliation":[{"name":"Korea University, Seoul, Republic of Korea"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8320-8509","authenticated-orcid":false,"given":"Minseok","family":"Jeon","sequence":"additional","affiliation":[{"name":"Korea University, Seoul, Republic of Korea"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0005-1540-5486","authenticated-orcid":false,"given":"Doha","family":"Hwang","sequence":"additional","affiliation":[{"name":"Samsung Electronics, Suwon, Republic of Korea"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1900-7654","authenticated-orcid":false,"given":"Hakjoo","family":"Oh","sequence":"additional","affiliation":[{"name":"Korea University, Seoul, Republic of Korea"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2025,4,9]]},"reference":[{"key":"e_1_3_2_2_1","doi-asserted-by":"publisher","unstructured":"Rui Abreu Peter Zoeteweij and Arjan J.c. Van Gemund. 2006. An Evaluation of Similarity Coefficients for Software Fault Localization. In 2006 12th Pacific Rim International Symposium on Dependable Computing (PRDC\u201906). 39\u201346. doi:10.1109\/PRDC.2006.18","DOI":"10.1109\/PRDC.2006.18"},{"key":"e_1_3_2_3_1","doi-asserted-by":"publisher","unstructured":"Rui Abreu Peter Zoeteweij and Arjan J.C. van Gemund. 2007. On the Accuracy of Spectrum-based Fault Localization. In Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION (TAICPART-MUTATION 2007). 89\u201398. doi:10.1109\/TAIC.PART.2007.13","DOI":"10.1109\/TAIC.PART.2007.13"},{"key":"e_1_3_2_4_1","doi-asserted-by":"publisher","unstructured":"Rui Abreu Peter Zoeteweij and Arjan J.C. van Gemund. 2009. Spectrum-Based Multiple Fault Localization. In 2009 IEEE\/ACM International Conference on Automated Software Engineering. 88\u201399. doi:10.1109\/ASE.2009.25","DOI":"10.1109\/ASE.2009.25"},{"key":"e_1_3_2_5_1","doi-asserted-by":"publisher","unstructured":"Gabin An Minhyuk Kwon Kyunghwa Choi Jooyong Yi and Shin Yoo. 2023. BUGSC++: A Highly Usable Real World Defect Benchmark for C\/C++. In Proceedings of the 38th IEEE\/ACM International Conference on Automated Software Engineering (ASE 2023). 2034\u20132037. doi:10.1109\/ASE56229.2023.00208","DOI":"10.1109\/ASE56229.2023.00208"},{"key":"e_1_3_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2931037.2931049"},{"key":"e_1_3_2_7_1","doi-asserted-by":"crossref","unstructured":"Junming Cao Shouliang Yang Wenhui Jiang Hushuang Zeng Beijun Shen and Hao Zhong. 2020. BugPecker: Locating Faulty Methods with Deep Learning on Revision Graphs. In 2020 35th IEEE\/ACM International Conference on Automated Software Engineering (ASE). 1214\u20131218.","DOI":"10.1145\/3324884.3418934"},{"key":"e_1_3_2_8_1","doi-asserted-by":"publisher","DOI":"10.1155\/2016\/1820454"},{"key":"e_1_3_2_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2017.2755013"},{"key":"e_1_3_2_10_1","doi-asserted-by":"publisher","unstructured":"Shin Hong Byeongcheol Lee Taehoon Kwak Yiru Jeon Bongsuk Ko Yunho Kim and Moonzoo Kim. 2015. Mutation-Based Fault Localization for Real-World Multilingual Programs (T). In 2015 30th IEEE\/ACM International Conference on Automated Software Engineering (ASE). 464\u2013475. doi:10.1109\/ASE.2015.14","DOI":"10.1109\/ASE.2015.14"},{"key":"e_1_3_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1596495.1596502"},{"key":"e_1_3_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/3624741"},{"key":"e_1_3_2_13_1","doi-asserted-by":"publisher","unstructured":"J.A. Jones M.J. Harrold and J. Stasko. 2002. Visualization of test information to assist fault localization. In Proceedings of the 24th International Conference on Software Engineering. ICSE 2002. 467\u2013477. doi:10.1145\/581396.581397","DOI":"10.1145\/581396.581397"},{"key":"e_1_3_2_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/3660771"},{"key":"e_1_3_2_15_1","doi-asserted-by":"publisher","unstructured":"Donguk Kim. 2025. PAFL: Enhancing Fault Localizers by Leveraging Project-Specific Fault Patterns (Artifact). doi:10.5281\/zenodo.14920999","DOI":"10.5281\/zenodo.14920999"},{"key":"e_1_3_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2931037.2931051"},{"key":"e_1_3_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330574"},{"key":"e_1_3_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133916"},{"key":"e_1_3_2_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE43902.2021.00067"},{"key":"e_1_3_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3549137"},{"key":"e_1_3_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3549092"},{"key":"e_1_3_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330577"},{"key":"e_1_3_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3395363.3397351"},{"key":"e_1_3_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468580"},{"key":"e_1_3_2_25_1","doi-asserted-by":"publisher","unstructured":"Xiangxin Meng Xu Wang Hongyu Zhang Hailong Sun and Xudong Liu. 2022. Improving Fault Localization and Program Repair with Deep Semantic Features and Transferred Knowledge. In 2022 IEEE\/ACM 44th International Conference on Software Engineering (ICSE). 1169\u20131180. doi:10.1145\/3510003.3510147","DOI":"10.1145\/3510003.3510147"},{"key":"e_1_3_2_26_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2021.110961"},{"key":"e_1_3_2_27_1","doi-asserted-by":"publisher","unstructured":"Seokhyeon Moon Yunho Kim Moonzoo Kim and Shin Yoo. 2014. Ask the Mutants: Mutating Faulty Programs for Fault Localization. In 2014 IEEE Seventh International Conference on Software Testing Verification and Validation. 153\u2013162. doi:10.1109\/ICST.2014.28","DOI":"10.1109\/ICST.2014.28"},{"key":"e_1_3_2_28_1","doi-asserted-by":"publisher","unstructured":"Laura Moreno John Joseph Treadway Andrian Marcus and Wuwei Shen. 2014. On the Use of Stack Traces to Improve Text Retrieval-Based Bug Localization. In 2014 IEEE International Conference on Software Maintenance and Evolution. 151\u2013160. doi:10.1109\/ICSME.2014.37","DOI":"10.1109\/ICSME.2014.37"},{"key":"e_1_3_2_29_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-00722-4_9"},{"key":"e_1_3_2_30_1","doi-asserted-by":"publisher","unstructured":"Yuqing Pan Xi Xiao Guangwu Hu Bin Zhang Qing Li and Haitao Zheng. 2020. ALBFL: A Novel Neural Ranking Model for Software Fault Localization via Combining Static and Dynamic Features. In 2020 IEEE 19th International Conference on Trust Security and Privacy in Computing and Communications (TrustCom). 785\u2013792. doi:10.1109\/TrustCom50675.2020.00107","DOI":"10.1109\/TrustCom50675.2020.00107"},{"key":"e_1_3_2_31_1","doi-asserted-by":"publisher","DOI":"10.1002\/stvr.1509"},{"key":"e_1_3_2_32_1","doi-asserted-by":"publisher","unstructured":"Spencer Pearson Jos\u00e9 Campos Ren\u00e9 Just Gordon Fraser Rui Abreu Michael D. Ernst Deric Pang and Benjamin Keller. 2017. Evaluating and Improving Fault Localization. In 2017 IEEE\/ACM 39th International Conference on Software Engineering (ICSE). 609\u2013620. doi:10.1109\/ICSE.2017.62","DOI":"10.1109\/ICSE.2017.62"},{"key":"e_1_3_2_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/3660793"},{"key":"e_1_3_2_34_1","doi-asserted-by":"publisher","unstructured":"Ripon K. Saha Matthew Lease Sarfraz Khurshid and Dewayne E. Perry. 2013. Improving bug localization using structured information retrieval. In 2013 28th IEEE\/ACM International Conference on Automated Software Engineering (ASE). 345\u2013355. doi:10.1109\/ASE.2013.6693093","DOI":"10.1109\/ASE.2013.6693093"},{"key":"e_1_3_2_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE56229.2023.00122"},{"key":"e_1_3_2_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/3092703.3092717"},{"key":"e_1_3_2_37_1","doi-asserted-by":"publisher","unstructured":"Ezekiel Soremekun Lukas Kirschner Marcel B\u00f6hme and Mike Papadakis. 2023. Evaluating the Impact of Experimental Assumptions in Automated Fault Localization. In 2023 IEEE\/ACM 45th International Conference on Software Engineering (ICSE). 159\u2013171. doi:10.1109\/ICSE48619.2023.00025","DOI":"10.1109\/ICSE48619.2023.00025"},{"key":"e_1_3_2_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2019.2948158"},{"key":"e_1_3_2_39_1","doi-asserted-by":"crossref","unstructured":"Ming Wen Rongxin Wu and Shing-Chi Cheung. 2016. Locus: Locating bugs from software changes. In 2016 31st IEEE\/ACM International Conference on Automated Software Engineering (ASE). 262\u2013273.","DOI":"10.1145\/2970276.2970359"},{"key":"e_1_3_2_40_1","doi-asserted-by":"publisher","unstructured":"Ratnadira Widyasari Gede Artha Azriadi Prana Stefanus A. Haryono Yuan Tian Hafil Noer Zachiary and David Lo. 2022. XAI4FL: Enhancing Spectrum-Based Fault Localization with Explainable Artificial Intelligence. In 2022 IEEE\/ACM 30th International Conference on Program Comprehension (ICPC). 499\u2013510. doi:10.1145\/3524610.3527902","DOI":"10.1145\/3524610.3527902"},{"key":"e_1_3_2_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/3368089.3417943"},{"key":"e_1_3_2_42_1","doi-asserted-by":"publisher","unstructured":"W. Eric Wong Vidroha Debroy Yihao Li and Ruizhi Gao. 2012. Software Fault Localization Using DStar (D*). In 2012 IEEE Sixth International Conference on Software Security and Reliability. 21\u201330. doi:10.1109\/SERE.2012.12","DOI":"10.1109\/SERE.2012.12"},{"key":"e_1_3_2_43_1","doi-asserted-by":"publisher","DOI":"10.1142\/S021819400900426X"},{"key":"e_1_3_2_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3549101"},{"key":"e_1_3_2_45_1","doi-asserted-by":"publisher","unstructured":"Huan Xie Yan Lei Meng Yan Yue Yu Xin Xia and Xiaoguang Mao. 2022. A Universal Data Augmentation Approach for Fault Localization. In 2022 IEEE\/ACM 44th International Conference on Software Engineering (ICSE). 48\u201360. doi:10.1145\/3510003.3510136","DOI":"10.1145\/3510003.3510136"},{"key":"e_1_3_2_46_1","doi-asserted-by":"publisher","unstructured":"Xiaoyuan Xie Fei Ching Kuo Tsong Yueh Chen Shin Yoo and Mark Harman. 2013. Provably optimal and human-competitive results in SBSE for spectrum based fault localisation. In Search Based Software Engineering - 5th International Symposium SSBSE 2013 Proceedings (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)). 224\u2013238. doi:10.1007\/978-3-642-39742-4_17 5th International Symposium on Search-Based Software Engineering SSBSE 2013 ; Conference date: 24-08-2013 Through 26-08-2013.","DOI":"10.1007\/978-3-642-39742-4_17"},{"key":"e_1_3_2_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/3597503.3623342"},{"key":"e_1_3_2_48_1","doi-asserted-by":"publisher","unstructured":"Bo Yang Yuze He Huai Liu Yixin Chen and Zhi Jin. 2020. A Lightweight Fault Localization Approach based on XGBoost. In 2020 IEEE 20th International Conference on Software Quality Reliability and Security (QRS). 168\u2013179. doi:10.1109\/QRS51102.2020.00033","DOI":"10.1109\/QRS51102.2020.00033"},{"key":"e_1_3_2_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/3597503.3623337"},{"key":"e_1_3_2_50_1","doi-asserted-by":"publisher","unstructured":"Yanbing Yu James Jones and Mary Jean Harrold. 2008. An empirical study of the effects of test-suite reduction on fault localization. In 2008 ACM\/IEEE 30th International Conference on Software Engineering. 201\u2013210. doi:10.1145\/1368088.1368116","DOI":"10.1145\/1368088.1368116"},{"key":"e_1_3_2_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/3510003.3510073"},{"key":"e_1_3_2_52_1","doi-asserted-by":"publisher","unstructured":"Zhuo Zhang Yan Lei Xiaoguang Mao and Panpan Li. 2019. CNN-FL: An Effective Approach for Localizing Faults using Convolutional Neural Networks. In 2019 IEEE 26th International Conference on Software Analysis Evolution and Reengineering (SANER). 445\u2013455. doi:10.1109\/SANER.2019.8668002","DOI":"10.1109\/SANER.2019.8668002"},{"key":"e_1_3_2_53_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2020.106486"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3720526","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3720526","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,8,24]],"date-time":"2026-08-24T16:29:57Z","timestamp":1787588997000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3720526"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,4,9]]},"references-count":52,"journal-issue":{"issue":"OOPSLA1","published-print":{"date-parts":[[2025,4,9]]}},"alternative-id":["10.1145\/3720526"],"URL":"https:\/\/doi.org\/10.1145\/3720526","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"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"}}]}}