{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,21]],"date-time":"2026-02-21T18:37:45Z","timestamp":1771699065533,"version":"3.50.1"},"reference-count":85,"publisher":"Association for Computing Machinery (ACM)","issue":"6","license":[{"start":{"date-parts":[[2023,9,28]],"date-time":"2023-09-28T00:00:00Z","timestamp":1695859200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"National Science Foundation","award":["CSPECC-1736209, CCF-1846467, CCF-2007718, CNS-2221843, CCF-1845446, CCF-2006278, CCF-2152819"],"award-info":[{"award-number":["CSPECC-1736209, CCF-1846467, CCF-2007718, CNS-2221843, CCF-1845446, CCF-2006278, CCF-2152819"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2023,11,30]]},"abstract":"<jats:p>\n            Continuous integration (CI) practices encourage developers to frequently integrate code into a shared repository. Each integration is validated by automatic build and testing such that errors are revealed as early as possible. When CI failures or integration errors are reported, existing techniques are insufficient to automatically locate the root causes for two reasons. First, a CI failure may be triggered by faults in source code and\/or build scripts, whereas current approaches consider only source code. Second, a tentative integration can fail because of build failures and\/or test failures, whereas existing tools focus on test failures only. This article presents UniLoc, the first unified technique to localize faults in\n            <jats:italic>both<\/jats:italic>\n            source code and build scripts given a CI failure log, without assuming the failure\u2019s location (source code or build scripts) and nature (a test failure or not). Adopting the information retrieval (IR) strategy, UniLoc locates buggy files by treating source code and build scripts as documents to search and by considering build logs as search queries. However, instead of na\u00efvely applying an off-the-shelf IR technique to these software artifacts, for more accurate fault localization, UniLoc applies various domain-specific heuristics to optimize the search queries, search space, and ranking formulas. To evaluate UniLoc, we gathered 700 CI failure fixes in 72 open source projects that are built with Gradle. UniLoc could effectively locate bugs with the average mean reciprocal rank value as 0.49, mean average precision value as 0.36, and normalized discounted cumulative gain value as 0.54. UniLoc outperformed the state-of-the-art IR-based tool BLUiR and Locus. UniLoc has the potential to help developers diagnose root causes for CI failures more accurately and efficiently.\n          <\/jats:p>","DOI":"10.1145\/3593799","type":"journal-article","created":{"date-parts":[[2023,5,8]],"date-time":"2023-05-08T12:00:14Z","timestamp":1683547214000},"page":"1-31","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":6,"title":["UniLoc: Unified Fault Localization of Continuous Integration Failures"],"prefix":"10.1145","volume":"32","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-4543-282X","authenticated-orcid":false,"given":"Foyzul","family":"Hassan","sequence":"first","affiliation":[{"name":"University of Michigan\u2013Dearborn"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0230-5524","authenticated-orcid":false,"given":"Na","family":"Meng","sequence":"additional","affiliation":[{"name":"Virginia Tech"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9079-5534","authenticated-orcid":false,"given":"Xiaoyin","family":"Wang","sequence":"additional","affiliation":[{"name":"University of Texas at San Antonio"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2023,9,28]]},"reference":[{"key":"e_1_3_1_2_2","unstructured":"Apache Ant Project. 2018. Ant. Retrieved August 18 2018 from https:\/\/ant.apache.org\/."},{"key":"e_1_3_1_3_2","unstructured":"Apache Ant Project. 2018. Ivy. Retrieved August 18 2018 from http:\/\/ant.apache.org\/ivy\/."},{"key":"e_1_3_1_4_2","unstructured":"Apache Lucene. 2018. Lucene. Retrieved August 18 2018 from http:\/\/lucene.apache.org\/."},{"key":"e_1_3_1_5_2","unstructured":"Apache Maven Project. 2018. Maven. Retrieved August 18 2018 from https:\/\/maven.apache.org\/."},{"key":"e_1_3_1_6_2","unstructured":"PMD. 2018. PMD. Retrieved August 18 2018 from https:\/\/pmd.github.io\/."},{"key":"e_1_3_1_7_2","unstructured":"Digital Ocean. 2019. An Introduction to CI\/CD Best Practices. Retrieved May 16 2023 from https:\/\/www.digitalocean.com\/community\/tutorials\/an-introduction-to-ci-cd-best-practices."},{"key":"e_1_3_1_8_2","unstructured":"DevOps. 2019. Why Continuous Integration Doesn\u2019t Work. Retrieved May 16 2023 from https:\/\/devops.com\/continuous-integration-doesnt-work\/."},{"key":"e_1_3_1_9_2","unstructured":"DigitalCommons. 2022. Improving the Efficiency of CI with Uber-commits. Retrieved October 27 2022 from https:\/\/digitalcommons.unl.edu\/cgi\/viewcontent.cgi?article=1126&context=computerscidiss."},{"key":"e_1_3_1_10_2","unstructured":"GitHub. 2022. Locus Implementation. Retrieved October 27 2022 from https:\/\/github.com\/justinwm\/Locus\/."},{"key":"e_1_3_1_11_2","doi-asserted-by":"crossref","first-page":"39","DOI":"10.1109\/PRDC.2006.18","volume-title":"Proceedings of the 2006 12th Pacific Rim International Symposium on Dependable Computing (PRDC\u201906)","author":"Abreu R.","year":"2006","unstructured":"R. Abreu, P. Zoeteweij, and A. J. C. Van Gemund. 2006. An evaluation of similarity coefficients for software fault localization. In Proceedings of the 2006 12th Pacific Rim International Symposium on Dependable Computing (PRDC\u201906). 39\u201346. 10.1109\/PRDC.2006.18"},{"key":"e_1_3_1_12_2","doi-asserted-by":"crossref","first-page":"88","DOI":"10.1109\/ASE.2009.25","volume-title":"Proceedings of the 2009 IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201909)","author":"Abreu Rui","year":"2009","unstructured":"Rui Abreu, Peter Zoeteweij, and Arjan J. C. van Gemund. 2009. Spectrum-based multiple fault localization. In Proceedings of the 2009 IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201909). IEEE, Los Alamitos, CA, 88\u201399. 10.1109\/ASE.2009.25"},{"key":"e_1_3_1_13_2","doi-asserted-by":"crossref","first-page":"114","DOI":"10.1109\/ICSM.2007.4362624","volume-title":"Proceedings of the 2007 IEEE International Conference on Software Maintenance","author":"Adams B.","year":"2007","unstructured":"B. Adams, H. Tromp, K. de Schutter, and W. de Meuter. 2007. Design recovery and maintenance of build systems. In Proceedings of the 2007 IEEE International Conference on Software Maintenance. 114\u2013123. 10.1109\/ICSM.2007.4362624"},{"key":"e_1_3_1_14_2","first-page":"600","volume-title":"Companion Proceedings of the 36th International Conference on Software Engineering (ICSE Companion\u201914)","author":"Al-Kofahi Jafar","year":"2014","unstructured":"Jafar Al-Kofahi, Hung Viet Nguyen, and Tien N. Nguyen. 2014. Fault localization for build code errors in makefiles. In Companion Proceedings of the 36th International Conference on Software Engineering (ICSE Companion\u201914). ACM, New York, NY, 600\u2013601. 10.1145\/2591062.2591135"},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","DOI":"10.1016.\/j.datak.2003.10.005"},{"key":"e_1_3_1_16_2","first-page":"805","volume-title":"Companion to the 22nd ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications Companion (OOPSLA\u201907)","author":"Ayewah Nathaniel","year":"2007","unstructured":"Nathaniel Ayewah, William Pugh, J. David Morgenthaler, John Penix, and YuQian Zhou. 2007. Using FindBugs on production software. In Companion to the 22nd ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications Companion (OOPSLA\u201907). ACM, New York, NY, 805\u2013806. 10.1145\/1297846.1297897"},{"key":"e_1_3_1_17_2","first-page":"177","volume-title":"Proceedings of the 25th International Symposium on Software Testing and Analysis (ISSTA\u201916)","author":"Le Tien-Duy B.","year":"2016","unstructured":"Tien-Duy B. Le, David Lo, Claire Le Goues, and Lars Grunske. 2016. A learning-to-rank based fault localization approach using likely invariants. In Proceedings of the 25th International Symposium on Software Testing and Analysis (ISSTA\u201916). ACM, New York, NY, 177\u2013188. 10.1145\/2931037.2931049"},{"key":"e_1_3_1_18_2","first-page":"854","volume-title":"Proceedings of the 10th Annual ACM-SIAM Symposium on Discrete Algorithms","author":"Baker Brenda S.","year":"1999","unstructured":"Brenda S. Baker. 1999. Parameterized diff. In Proceedings of the 10th Annual ACM-SIAM Symposium on Discrete Algorithms. 854\u2013855."},{"key":"e_1_3_1_19_2","volume-title":"DevOps: A Software Architect\u2019s Perspective","author":"Bass Len","year":"2015","unstructured":"Len Bass, Ingo Weber, and Liming Zhu. 2015. DevOps: A Software Architect\u2019s Perspective. Addison-Wesley Professional."},{"key":"e_1_3_1_20_2","doi-asserted-by":"crossref","first-page":"447","DOI":"10.1109\/MSR.2017.24","volume-title":"Proceedings of the 2017 IEEE\/ACM 14th International Conference on Mining Software Repositories","author":"Beller M.","year":"2017","unstructured":"M. Beller, G. Gousios, and A. Zaidman. 2017. TravisTorrent: Synthesizing Travis CI and GitHub for full-stack research on continuous integration. In Proceedings of the 2017 IEEE\/ACM 14th International Conference on Mining Software Repositories. 447\u2013450."},{"key":"e_1_3_1_21_2","first-page":"406","volume-title":"Proceedings of the 2021 14th IEEE Conference on Software Testing, Verification, and Validation (ICST\u201921)","author":"Dao Tung","year":"2021","unstructured":"Tung Dao, Max Wang, and Na Meng. 2021. Exploring the triggering modes of spectrum-based fault localization: An industrial case. In Proceedings of the 2021 14th IEEE Conference on Software Testing, Verification, and Validation (ICST\u201921). 406\u2013416. 10.1109\/ICST49551.2021.00052"},{"key":"e_1_3_1_22_2","first-page":"241","volume-title":"Proceedings of the 25th International Conference on Program Comprehension (ICPC\u201917)","author":"Dao Tung","year":"2017","unstructured":"Tung Dao, Lingming Zhang, and Na Meng. 2017. How does execution information help with information-retrieval based bug localization? In Proceedings of the 25th International Conference on Program Comprehension (ICPC\u201917). IEEE, Los Alamitos, CA, 241\u2013250. 10.1109\/ICPC.2017.29"},{"key":"e_1_3_1_23_2","first-page":"241","volume-title":"Proceedings of the 2017 IEEE\/ACM 25th International Conference on Program Comprehension (ICPC\u201917)","author":"Dao T.","year":"2017","unstructured":"T. Dao, L. Zhang, and N. Meng. 2017. How does execution information help with information-retrieval based bug localization? In Proceedings of the 2017 IEEE\/ACM 25th International Conference on Program Comprehension (ICPC\u201917). 241\u2013250. 10.1109\/ICPC.2017.29"},{"key":"e_1_3_1_24_2","first-page":"307","volume-title":"Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA\u201917)","author":"Do Lisa Nguyen Quang","year":"2017","unstructured":"Lisa Nguyen Quang Do, Karim Ali, Benjamin Livshits, Eric Bodden, Justin Smith, and Emerson Murphy-Hill. 2017. Just-in-time static analysis. In Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA\u201917). ACM, New York, NY, 307\u2013317. 10.1145\/3092703.3092705"},{"key":"e_1_3_1_25_2","volume-title":"Continuous Integration: Improving Software Quality and Reducing Risk","author":"Duvall Paul M.","year":"2007","unstructured":"Paul M. Duvall, Steve Matyas, and Andrew Glover. 2007. Continuous Integration: Improving Software Quality and Reducing Risk. Pearson Education."},{"key":"e_1_3_1_26_2","doi-asserted-by":"crossref","first-page":"87","DOI":"10.1145\/3238147.3238171","volume-title":"Proceedings of the 33rd ACM\/IEEE International Conference on Automated Software Engineering (ASE\u201918)","author":"Gallaba Keheliya","year":"2018","unstructured":"Keheliya Gallaba, Christian Macho, Martin Pinzger, and Shane McIntosh. 2018. Noise and heterogeneity in historical build data: An empirical study of Travis CI. In Proceedings of the 33rd ACM\/IEEE International Conference on Automated Software Engineering (ASE\u201918). ACM, New York, NY, 87\u201397. 10.1145\/3238147.3238171"},{"key":"e_1_3_1_27_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2019.2941880"},{"key":"e_1_3_1_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2011.104"},{"key":"e_1_3_1_29_2","first-page":"38","volume-title":"Proceedings of the 2017 ACM\/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM\u201917)","author":"Hassan F.","year":"2017","unstructured":"F. Hassan, S. Mostafa, E. S. L. Lam, and X. Wang. 2017. Automatic building of Java projects in software repositories: A study on feasibility and challenges. In Proceedings of the 2017 ACM\/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM\u201917). 38\u201347. 10.1109\/ESEM.2017.11"},{"key":"e_1_3_1_30_2","doi-asserted-by":"crossref","unstructured":"Foyzul Hassan and Xiaoyin Wang. 2017. Change-aware build prediction model for stall avoidance in continuous integration(ESEM\u201917). IEEE Los Alamitos CA 157\u2013162. 10.1109\/ESEM.2017.23","DOI":"10.1109\/ESEM.2017.23"},{"key":"e_1_3_1_31_2","doi-asserted-by":"crossref","first-page":"1078","DOI":"10.1145\/3180155.3180181","volume-title":"Proceedings of the 40th International Conference on Software Engineering (ICSE\u201918)","author":"Hassan Foyzul","year":"2018","unstructured":"Foyzul Hassan and Xiaoyin Wang. 2018. HireBuild: An automatic approach to history-driven repair of build scripts. In Proceedings of the 40th International Conference on Software Engineering (ICSE\u201918). ACM, New York, NY, 1078\u20131089. 10.1145\/3180155.3180181"},{"key":"e_1_3_1_32_2","doi-asserted-by":"crossref","first-page":"197","DOI":"10.1145\/3106237.3106270","volume-title":"Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (ESEC\/FSE\u201917)","author":"Hilton Michael","year":"2017","unstructured":"Michael Hilton, Nicholas Nelson, Timothy Tunnell, Darko Marinov, and Danny Dig. 2017. Trade-offs in continuous integration: Assurance, security, and flexibility. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (ESEC\/FSE\u201917). ACM, New York, NY, 197\u2013207. 10.1145\/3106237.3106270"},{"key":"e_1_3_1_33_2","volume-title":"Lint, a C Program Checker","author":"Johnson Stephen C.","year":"1977","unstructured":"Stephen C. Johnson. 1977. Lint, a C Program Checker. Retrieved May 16, 2023 from https:\/\/wolfram.schneider.org\/bsd\/7thEdManVol2\/lint\/lint.pdf."},{"key":"e_1_3_1_34_2","doi-asserted-by":"crossref","first-page":"273","DOI":"10.1145\/1101908.1101949","volume-title":"Proceedings of the 20th IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201905)","author":"Jones James A.","year":"2005","unstructured":"James A. Jones and Mary Jean Harrold. 2005. Empirical evaluation of the Tarantula automatic fault-localization technique. In Proceedings of the 20th IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201905). ACM, New York, NY, 273\u2013282. 10.1145\/1101908.1101949"},{"key":"e_1_3_1_35_2","doi-asserted-by":"crossref","first-page":"802","DOI":"10.1109\/ICSE.2013.6606626","volume-title":"Proceedings of the 2013 35th International Conference on Software Engineering (ICSE\u201913)","author":"Kim D.","year":"2013","unstructured":"D. Kim, J. Nam, J. Song, and S. Kim. 2013. Automatic patch generation learned from human-written patches. In Proceedings of the 2013 35th International Conference on Software Engineering (ICSE\u201913). 802\u2013811. 10.1109\/ICSE.2013.6606626"},{"key":"e_1_3_1_36_2","first-page":"489","volume-title":"Proceedings of the 29th International Conference on Software Engineering (ICSE\u201907)","author":"Kim Sunghun","year":"2007","unstructured":"Sunghun Kim, Thomas Zimmermann, E. James Whitehead Jr., and Andreas Zeller. 2007. Predicting faults from cached history. In Proceedings of the 29th International Conference on Software Engineering (ICSE\u201907). IEEE, Los Alamitos, CA, 489\u2013498. 10.1109\/ICSE.2007.66"},{"key":"e_1_3_1_37_2","first-page":"649","volume-title":"Proceedings of the 2021 IEEE\/ACM 43rd International Conference on Software Engineering (ICSE\u201921)","author":"K\u00fc\u00e7\u00fck Yi\u011fit","year":"2021","unstructured":"Yi\u011fit K\u00fc\u00e7\u00fck, Tim A. D. Henderson, and Andy Podgurski. 2021. Improving fault localization by integrating value and predicate based causal inference techniques. In Proceedings of the 2021 IEEE\/ACM 43rd International Conference on Software Engineering (ICSE\u201921). IEEE, Los Alamitos, CA, 649\u2013660."},{"key":"e_1_3_1_38_2","first-page":"579","volume-title":"Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (ESEC\/FSE\u201915)","author":"Le Tien-Duy B.","year":"2015","unstructured":"Tien-Duy B. Le, Richard J. Oentaryo, and David Lo. 2015. Information retrieval and spectrum based bug localization: Better together. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (ESEC\/FSE\u201915). ACM, New York, NY, 579\u2013590. 10.1145\/2786805.2786880"},{"key":"e_1_3_1_39_2","first-page":"61","volume-title":"Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA\u201918)","author":"Lee Jaekwon","year":"2018","unstructured":"Jaekwon Lee, Dongsun Kim, Tegawend\u00e9 F. Bissyand\u00e9, Woosung Jung, and Yves Le Traon. 2018. Bench4BL: Reproducibility study on the performance of IR-based bug localization. In Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA\u201918). ACM, New York, NY, 61\u201372. 10.1145\/3213846.3213856"},{"key":"e_1_3_1_40_2","first-page":"61","volume-title":"Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA\u201918)","author":"Lee Jaekwon","year":"2018","unstructured":"Jaekwon Lee, Dongsun Kim, Tegawend\u00e9 F. Bissyand\u00e9, Woosung Jung, and Yves Le Traon. 2018. Bench4BL: Reproducibility study on the performance of IR-based bug localization. In Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA\u201918). ACM, New York, NY, 61\u201372. 10.1145\/3213846.3213856"},{"key":"e_1_3_1_41_2","first-page":"661","volume-title":"Proceedings of the 2021 IEEE\/ACM 43rd International Conference on Software Engineering (ICSE\u201921)","author":"Li Yi","year":"2021","unstructured":"Yi Li, Shaohua Wang, and Tien Nguyen. 2021. Fault localization with code coverage representation learning. In Proceedings of the 2021 IEEE\/ACM 43rd International Conference on Software Engineering (ICSE\u201921). IEEE, Los Alamitos, CA, 661\u2013673."},{"key":"e_1_3_1_42_2","first-page":"286","volume-title":"Proceedings of the 10th European Software Engineering Conference Held Jointly with the 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC\/FSE\u201913)","author":"Liu Chao","year":"2005","unstructured":"Chao Liu, Xifeng Yan, Long Fei, Jiawei Han, and Samuel P. Midkiff. 2005. SOBER: Statistical model-based bug localization. In Proceedings of the 10th European Software Engineering Conference Held Jointly with the 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC\/FSE\u201913). ACM, New York, NY, 286\u2013295. 10.1145\/1081706.1081753"},{"key":"e_1_3_1_43_2","first-page":"298","volume-title":"Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL\u201916)","author":"Long Fan","year":"2016","unstructured":"Fan Long and Martin Rinard. 2016. Automatic patch generation by learning correct code. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL\u201916). ACM, New York, NY, 298\u2013312. 10.1145\/2837614.2837617"},{"key":"e_1_3_1_44_2","first-page":"664","volume-title":"Proceedings of the 29th ACM Joint Meeting on the European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE\u201921)","author":"Lou Yiling","year":"2021","unstructured":"Yiling Lou, Qihao Zhu, Jinhao Dong, Xia Li, Zeyu Sun, Dan Hao, Lu Zhang, and Lingming Zhang. 2021. Boosting coverage-based fault localization via graph-based representation learning. In Proceedings of the 29th ACM Joint Meeting on the European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE\u201921). 664\u2013676."},{"key":"e_1_3_1_45_2","doi-asserted-by":"crossref","unstructured":"Lucia Ferdian Thung David Lo and Lingxiao Jiang. 2012. Are faults localizable? In Proceedings of the 2012 9th IEEE Working Conference on Mining Software Repositories (MSR\u201912) .","DOI":"10.1109\/MSR.2012.6224302"},{"key":"e_1_3_1_46_2","first-page":"541","volume-title":"Proceedings of the International Conference on Software Analysis, Evolution, and Reengineering (SANER\u201916)","author":"Macho Christian","year":"2016","unstructured":"Christian Macho, Shane McIntosh, and Martin Pinzger. 2016. Predicting build co-changes with source code change and commit categories. In Proceedings of the International Conference on Software Analysis, Evolution, and Reengineering (SANER\u201916). 541\u2013551."},{"key":"e_1_3_1_47_2","first-page":"106","volume-title":"Proceedings of the 2018 IEEE 25th International Conference on Software Analysis, Evolution, and Reengineering (SANER\u201918)","author":"Macho C.","year":"2018","unstructured":"C. Macho, S. McIntosh, and M. Pinzger. 2018. Automatically repairing dependency-related build breakage. In Proceedings of the 2018 IEEE 25th International Conference on Software Analysis, Evolution, and Reengineering (SANER\u201918). 106\u2013117."},{"key":"e_1_3_1_48_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-011-9169-5"},{"issue":"4","key":"e_1_3_1_49_2","doi-asserted-by":"crossref","first-page":"619","DOI":"10.1007\/s10515-015-0183-5","article-title":"Identifying and understanding header file hotspots in C\/C++ build processes","volume":"23","author":"McIntosh Shane","year":"2016","unstructured":"Shane McIntosh, Bram Adams, Meiyappan Nagappan, and Ahmed E. Hassan. 2016. Identifying and understanding header file hotspots in C\/C++ build processes. Automated Software Engineering 23, 4 (2016), 619\u2013647.","journal-title":"Automated Software Engineering"},{"issue":"6","key":"e_1_3_1_50_2","doi-asserted-by":"crossref","first-page":"1587","DOI":"10.1007\/s10664-014-9324-x","article-title":"A large-scale empirical study of the relationship between build technology and build maintenance","volume":"20","author":"McIntosh Shane","year":"2015","unstructured":"Shane McIntosh, Meiyappan Nagappan, Bram Adams, Audris Mockus, and Ahmed E. Hassan. 2015. A large-scale empirical study of the relationship between build technology and build maintenance. Empirical Software Engineering 20, 6 (2015), 1587\u20131633.","journal-title":"Empirical Software Engineering"},{"key":"e_1_3_1_51_2","doi-asserted-by":"crossref","first-page":"1169","DOI":"10.1145\/3510003.3510147","volume-title":"Proceedings of the 44th International Conference on Software Engineering","author":"Meng Xiangxin","year":"2022","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 Proceedings of the 44th International Conference on Software Engineering. 1169\u20131180."},{"key":"e_1_3_1_52_2","doi-asserted-by":"crossref","first-page":"23","DOI":"10.1145\/3092703.3092725","volume-title":"Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA\u201917)","author":"Mostafa Shaikh","year":"2017","unstructured":"Shaikh Mostafa, Xiaoyin Wang, and Tao Xie. 2017. PerfRanker: Prioritization of performance regression tests for collection-intensive software. In Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA\u201917). ACM, New York, NY, 23\u201334. 10.1145\/3092703.3092725"},{"key":"e_1_3_1_53_2","doi-asserted-by":"crossref","first-page":"251","DOI":"10.1007\/BF01840446","article-title":"An O(ND) difference algorithm and its variations","volume":"1","author":"Myers Eugene W.","year":"1986","unstructured":"Eugene W. Myers. 1986. An O(ND) difference algorithm and its variations. Algorithmica 1 (1986), 251\u2013266.","journal-title":"Algorithmica"},{"key":"e_1_3_1_54_2","doi-asserted-by":"crossref","first-page":"245","DOI":"10.1145\/1806799.1806838","volume-title":"Proceedings of the 32nd ACM\/IEEE International Conference on Software Engineering\u2014Volume 1 (ICSE\u201910)","author":"Park Sangmin","year":"2010","unstructured":"Sangmin Park, Richard W. Vuduc, and Mary Jean Harrold. 2010. Falcon: Fault localization in concurrent programs. In Proceedings of the 32nd ACM\/IEEE International Conference on Software Engineering\u2014Volume 1 (ICSE\u201910). ACM, New York, NY, 245\u2013254. 10.1145\/1806799.1806838"},{"key":"e_1_3_1_55_2","first-page":"254","volume-title":"Proceedings of the 36th International Conference on Software Engineering (ICSE\u201914)","author":"Qi Yuhua","year":"2014","unstructured":"Yuhua Qi, Xiaoguang Mao, Yan Lei, Ziying Dai, and Chengsong Wang. 2014. The strength of random search on automated program repair. In Proceedings of the 36th International Conference on Software Engineering (ICSE\u201914). ACM, New York, NY, 254\u2013265. 10.1145\/2568225.2568254"},{"key":"e_1_3_1_56_2","first-page":"621","volume-title":"Proceedings of the 2018 26th ACM Joint Meeting on the European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE\u201918)","author":"Rahman Mohammad Masudur","year":"2018","unstructured":"Mohammad Masudur Rahman and Chanchal K. Roy. 2018. Improving IR-based bug localization with context-aware query reformulation. In Proceedings of the 2018 26th ACM Joint Meeting on the European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE\u201918). ACM, New York, NY, 621\u2013632. 10.1145\/3236024.3236065"},{"key":"e_1_3_1_57_2","doi-asserted-by":"crossref","first-page":"345","DOI":"10.1109\/MSR.2017.54","volume-title":"Proceedings of the 2017 IEEE\/ACM 14th International Conference on Mining Software Repositories (MSR\u201917)","author":"Rausch T.","year":"2017","unstructured":"T. Rausch, W. Hummer, P. Leitner, and S. Schulte. 2017. An empirical analysis of build failures in the continuous integration workflows of Java-based open-source software. In Proceedings of the 2017 IEEE\/ACM 14th International Conference on Mining Software Repositories (MSR\u201917). 345\u2013355."},{"key":"e_1_3_1_58_2","first-page":"71","volume-title":"Proceedings of the 40th International Conference on Software Engineering (ICSE\u201918)","author":"Ren Zhilei","year":"2018","unstructured":"Zhilei Ren, He Jiang, Jifeng Xuan, and Zijiang Yang. 2018. Automated localization for unreproducible builds. In Proceedings of the 40th International Conference on Software Engineering (ICSE\u201918). ACM, New York, NY, 71\u201381. 10.1145\/3180155.3180224"},{"key":"e_1_3_1_59_2","first-page":"345","volume-title":"Proceedings of the 2013 28th IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201913)","author":"Saha R. K.","year":"2013","unstructured":"R. K. Saha, M. Lease, S. Khurshid, and D. E. Perry. 2013. Improving bug localization using structured information retrieval. In Proceedings of the 2013 28th IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201913). 345\u2013355. 10.1109\/ASE.2013.6693093"},{"key":"e_1_3_1_60_2","first-page":"1006","volume-title":"Proceedings of the 2022 IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER\u201922)","author":"Santolucito Mark","year":"2022","unstructured":"Mark Santolucito, Jialu Zhang, Ennan Zhai, J\u00fcrgen Cito, and Ruzica Piskac. 2022. Learning CI configuration correctness for early build feedback. In Proceedings of the 2022 IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER\u201922). 1006\u20131017. 10.1109\/SANER53432.2022.00118"},{"key":"e_1_3_1_61_2","first-page":"114","volume-title":"Proceedings of the 2021 IEEE 21st International Working Conference on Source Code Analysis and Manipulation (SCAM\u201921)","author":"Sarhan Qusay Idrees","year":"2021","unstructured":"Qusay Idrees Sarhan, Attila Szatm\u00e1ri, Rajmond T\u00f3th, and Arpad Beszedes. 2021. CharmFL: A fault localization tool for Python. In Proceedings of the 2021 IEEE 21st International Working Conference on Source Code Analysis and Manipulation (SCAM\u201921). IEEE, Los Alamitos, CA, 114\u2013119."},{"key":"e_1_3_1_62_2","doi-asserted-by":"crossref","first-page":"189","DOI":"10.1145\/2901739.2901761","volume-title":"Proceedings of the 13th International Conference on Mining Software Repositories (MSR\u201916)","author":"Sharma Tushar","year":"2016","unstructured":"Tushar Sharma, Marios Fragkoulis, and Diomidis Spinellis. 2016. Does your configuration code smell? In Proceedings of the 13th International Conference on Mining Software Repositories (MSR\u201916). ACM, New York, NY, 189\u2013200. 10.1145\/2901739.2901761"},{"key":"e_1_3_1_63_2","doi-asserted-by":"crossref","first-page":"17","DOI":"10.1145\/3001878.3001882","volume-title":"Proceedings of the 7th International Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU\u201916)","author":"Sul\u00edr Mat\u00fa\u0161","year":"2016","unstructured":"Mat\u00fa\u0161 Sul\u00edr and Jaroslav Porub\u00e4n. 2016. A quantitative study of Java software buildability. In Proceedings of the 7th International Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU\u201916). ACM, New York, NY, 17\u201325. 10.1145\/3001878.3001882"},{"key":"e_1_3_1_64_2","first-page":"366","volume-title":"Proceedings of the 2012 27th IEEE\/ACM International Conference on Automated Software Engineering","author":"Tamrawi A.","year":"2012","unstructured":"A. Tamrawi, H. A. Nguyen, H. V. Nguyen, and T. N. Nguyen. 2012. SYMake: A build code analysis and refactoring tool for makefiles. In Proceedings of the 2012 27th IEEE\/ACM International Conference on Automated Software Engineering. 366\u2013369. 10.1145\/2351676.2351749"},{"key":"e_1_3_1_65_2","doi-asserted-by":"crossref","first-page":"108","DOI":"10.1109\/ISSREW.2013.6688888","volume-title":"Proceedings of the 2013 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW\u201913)","author":"Tantithamthavorn C.","year":"2013","unstructured":"C. Tantithamthavorn, R. Teekavanich, A. Ihara, and K. Matsumoto. 2013. Mining a change history to quickly identify bug locations: A case study of the Eclipse project. In Proceedings of the 2013 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW\u201913). 108\u2013113."},{"key":"e_1_3_1_66_2","first-page":"123","volume-title":"Proceedings of the 37th International Conference on Software Engineering\u2014Volume 1 (ICSE\u201915)","author":"Vakilian Mohsen","year":"2015","unstructured":"Mohsen Vakilian, Raluca Sauciuc, J. David Morgenthaler, and Vahab Mirrokni. 2015. Automated decomposition of build targets. In Proceedings of the 37th International Conference on Software Engineering\u2014Volume 1 (ICSE\u201915). IEEE, Los Alamitos, CA, 123\u2013133. http:\/\/dl.acm.org\/citation.cfm?id=2818754.2818772."},{"key":"e_1_3_1_67_2","doi-asserted-by":"crossref","first-page":"151","DOI":"10.1145\/3180155.3180250","volume-title":"Proceedings of the 40th International Conference on Software Engineering (ICSE\u201918)","author":"Tonder Rijnard van","year":"2018","unstructured":"Rijnard van Tonder and Claire Le Goues. 2018. Static automated program repair for heap properties. In Proceedings of the 40th International Conference on Software Engineering (ICSE\u201918). ACM, New York, NY, 151\u2013162. 10.1145\/3180155.3180250"},{"key":"e_1_3_1_68_2","doi-asserted-by":"crossref","unstructured":"Carmine Vassallo Sebastian Proksch Anna Jancso Harald C. Gall and Massimiliano Di Penta. 2020. Configuration smells in continuous delivery pipelines: A Linter and a six-month study on GitLab. In Proceedings of the 28th ACM Joint Meeting on the European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC\/FSE\u201920). ACM New York NY 327\u2013337. 10.1145\/3368089.3409709","DOI":"10.1145\/3368089.3409709"},{"key":"e_1_3_1_69_2","doi-asserted-by":"crossref","first-page":"183","DOI":"10.1109\/ICSME.2017.67","volume-title":"Proceedings of the 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME\u201917)","author":"Vassallo C.","year":"2017","unstructured":"C. Vassallo, G. Schermann, F. Zampetti, D. Romano, P. Leitner, A. Zaidman, M. Di Penta, and S. Panichella. 2017. A tale of CI build failures: An open source and a financial organization perspective. In Proceedings of the 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME\u201917). 183\u2013193."},{"key":"e_1_3_1_70_2","first-page":"1","volume-title":"Proceedings of the 2015 International Symposium on Software Testing and Analysis (ISSTA\u201915)","author":"Wang Qianqian","year":"2015","unstructured":"Qianqian Wang, Chris Parnin, and Alessandro Orso. 2015. Evaluating the usefulness of IR-based fault localization techniques. In Proceedings of the 2015 International Symposium on Software Testing and Analysis (ISSTA\u201915). ACM, New York, NY, 1\u201311. 10.1145\/2771783.2771797"},{"key":"e_1_3_1_71_2","doi-asserted-by":"crossref","first-page":"53","DOI":"10.1145\/2597008.2597148","volume-title":"Proceedings of the 22nd International Conference on Program Comprehension (ICPC\u201914)","author":"Wang Shaowei","year":"2014","unstructured":"Shaowei Wang and David Lo. 2014. Version history, similar report, and structure: Putting them together for improved bug localization. In Proceedings of the 22nd International Conference on Program Comprehension (ICPC\u201914). ACM, New York, NY, 53\u201363. 10.1145\/2597008.2597148"},{"key":"e_1_3_1_72_2","doi-asserted-by":"publisher","DOI":"10.1002\/smr.1801"},{"key":"e_1_3_1_73_2","first-page":"1","volume-title":"Proceedings of the 40th International Conference on Software Engineering (ICSE\u201918)","author":"Wen Ming","year":"2018","unstructured":"Ming Wen, Junjie Chen, Rongxin Wu, Dan Hao, and Shing-Chi Cheung. 2018. Context-aware patch generation for better automated program repair. In Proceedings of the 40th International Conference on Software Engineering (ICSE\u201918). ACM, New York, NY, 1\u201311. 10.1145\/3180155.3180233"},{"key":"e_1_3_1_74_2","doi-asserted-by":"crossref","first-page":"262","DOI":"10.1145\/2970276.2970359","volume-title":"Proceedings of the 2016 31st IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201916)","author":"Wen M.","year":"2016","unstructured":"M. Wen, R. Wu, and S. Cheung. 2016. Locus: Locating bugs from software changes. In Proceedings of the 2016 31st IEEE\/ACM International Conference on Automated Software Engineering (ASE\u201916). 262\u2013273."},{"key":"e_1_3_1_75_2","first-page":"685","volume-title":"Proceedings of the 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME\u201918)","author":"Wen R.","year":"2018","unstructured":"R. Wen, D. Gilbert, M. G. Roche, and S. McIntosh. 2018. BLIMP Tracer: Integrating build impact analysis with code review. In Proceedings of the 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME\u201918). 685\u2013694."},{"key":"e_1_3_1_76_2","doi-asserted-by":"crossref","first-page":"165","DOI":"10.1145\/3196398.3196422","volume-title":"Proceedings of the International Conference on Mining Software Repositories (MSR\u201918)","author":"Widder David","year":"2018","unstructured":"David Widder, Michael Hilton, Christian K\u00e4stner, and Bogdan Vasilescu. 2018. I\u2019m leaving you, Travis: A continuous integration breakup story. In Proceedings of the International Conference on Mining Software Repositories (MSR\u201918). ACM, New York, NY, 165\u2013169. 10.1145\/3196398.3196422"},{"key":"e_1_3_1_77_2","doi-asserted-by":"crossref","first-page":"181","DOI":"10.1109\/ICSME.2014.40","volume-title":"Proceedings of the 2014 IEEE International Conference on Software Maintenance and Evolution","author":"Wong C.","year":"2014","unstructured":"C. Wong, Y. Xiong, H. Zhang, D. Hao, L. Zhang, and H. Mei. 2014. Boosting bug-report-oriented fault localization with segmentation and stack-trace analysis. In Proceedings of the 2014 IEEE International Conference on Software Maintenance and Evolution. 181\u2013190. 10.1109\/ICSME.2014.40"},{"key":"e_1_3_1_78_2","first-page":"204","volume-title":"Proceedings of the 2014 International Symposium on Software Testing and Analysis (ISSTA\u201914)","author":"Wu Rongxin","year":"2014","unstructured":"Rongxin Wu, Hongyu Zhang, Shing-Chi Cheung, and Sunghun Kim. 2014. CrashLocator: Locating crashing faults based on crash stacks. In Proceedings of the 2014 International Symposium on Software Testing and Analysis (ISSTA\u201914). ACM, New York, NY, 204\u2013214. 10.1145\/2610384.2610386"},{"key":"e_1_3_1_79_2","first-page":"311","volume-title":"Proceedings of the 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER\u201915)","author":"Xia X.","year":"2015","unstructured":"X. Xia, D. Lo, S. McIntosh, E. Shihab, and A. E. Hassan. 2015. Cross-project build co-change prediction. In Proceedings of the 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER\u201915). 311\u2013320. 10.1109\/SANER.2015.7081841"},{"key":"e_1_3_1_80_2","doi-asserted-by":"crossref","first-page":"191","DOI":"10.1109\/ICSME.2014.41","volume-title":"Proceedings of the 2014 IEEE International Conference on Software Maintenance and Evolution","author":"Xuan J.","year":"2014","unstructured":"J. Xuan and M. Monperrus. 2014. Learning to combine multiple ranking metrics for fault localization. In Proceedings of the 2014 IEEE International Conference on Software Maintenance and Evolution. 191\u2013200. 10.1109\/ICSME.2014.41"},{"key":"e_1_3_1_81_2","doi-asserted-by":"crossref","first-page":"52","DOI":"10.1145\/2635868.2635906","volume-title":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE\u201914)","author":"Xuan Jifeng","year":"2014","unstructured":"Jifeng Xuan and Martin Monperrus. 2014. Test case purification for improving fault localization. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE\u201914). ACM, New York, NY, 52\u201363. 10.1145\/2635868.2635906"},{"key":"e_1_3_1_82_2","first-page":"689","volume-title":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE\u201914)","author":"Ye Xin","year":"2014","unstructured":"Xin Ye, Razvan Bunescu, and Chang Liu. 2014. Learning to rank relevant files for bug reports using domain knowledge. In Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE\u201914). ACM, New York, NY, 689\u2013699. 10.1145\/2635868.2635874"},{"issue":"2","key":"e_1_3_1_83_2","doi-asserted-by":"crossref","first-page":"1095","DOI":"10.1007\/s10664-019-09785-8","article-title":"An empirical characterization of bad practices in continuous integration","volume":"25","author":"Zampetti Fiorella","year":"2020","unstructured":"Fiorella Zampetti, Carmine Vassallo, Sebastiano Panichella, Gerardo Canfora, Harald Gall, and Massimiliano Di Penta. 2020. An empirical characterization of bad practices in continuous integration. Empirical Software Engineering 25, 2 (2020), 1095\u20131135.","journal-title":"Empirical Software Engineering"},{"key":"e_1_3_1_84_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2006.38"},{"key":"e_1_3_1_85_2","doi-asserted-by":"crossref","first-page":"14","DOI":"10.1109\/ICSE.2012.6227210","volume-title":"Proceedings of the 2012 34th International Conference on Software Engineering (ICSE\u201912)","author":"Zhou J.","year":"2012","unstructured":"J. Zhou, H. Zhang, and D. Lo. 2012. Where should the bugs be fixed? More accurate information retrieval-based bug localization based on bug reports. In Proceedings of the 2012 34th International Conference on Software Engineering (ICSE\u201912). 14\u201324. 10.1109\/ICSE.2012.6227210"},{"key":"e_1_3_1_86_2","first-page":"332","article-title":"An empirical study of fault localization families and their combinations","author":"Zou D.","year":"2019","unstructured":"D. Zou, J. Liang, Y. Xiong, M. D. Ernst, and L. Zhang. 2019. An empirical study of fault localization families and their combinations. IEEE Transactions on Software Engineering 47, 2 (2019), 332\u2013347.","journal-title":"IEEE Transactions on Software Engineering"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3593799","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3593799","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:47:50Z","timestamp":1750178870000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3593799"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,9,28]]},"references-count":85,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2023,11,30]]}},"alternative-id":["10.1145\/3593799"],"URL":"https:\/\/doi.org\/10.1145\/3593799","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,9,28]]},"assertion":[{"value":"2020-10-06","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-03-09","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-09-28","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}