{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,2]],"date-time":"2026-07-02T12:45:22Z","timestamp":1782996322536,"version":"3.54.5"},"reference-count":65,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2023,11,10]],"date-time":"2023-11-10T00:00:00Z","timestamp":1699574400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"U.S. National Science Foundation","doi-asserted-by":"crossref","award":["2247141, 2310179, and 2312321"],"award-info":[{"award-number":["2247141, 2310179, and 2312321"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Comput. Surv."],"published-print":{"date-parts":[[2024,4,30]]},"abstract":"<jats:p>\n            <jats:bold>Context:<\/jats:bold>\n            Compilers are the fundamental tools for software development. Thus, compiler defects can disrupt development productivity and propagate errors into developer-written software source code. Categorizing defects in compilers can inform practitioners and researchers about the existing defects in compilers and techniques that can be used to identify defects systematically.\n          <\/jats:p>\n          <jats:p>\n            <jats:bold>Objective:<\/jats:bold>\n            <jats:italic>The goal of this paper is to help researchers understand the nature of defects in compilers by conducting a review of Internet artifacts and peer-reviewed publications that study defect characteristics of compilers.<\/jats:italic>\n          <\/jats:p>\n          <jats:p>\n            <jats:bold>Methodology:<\/jats:bold>\n            We conduct a multi-vocal literature review (MLR) with 26 publications and 32 Internet artifacts to characterize compiler defects.\n          <\/jats:p>\n          <jats:p>\n            <jats:bold>Results:<\/jats:bold>\n            From our MLR, we identify 13 categories of defects, amongst which optimization defects have been the most reported defects in our artifacts publications. We observed 15 defect identification techniques tailored for compilers and no single technique identifying all observed defect categories.\n          <\/jats:p>\n          <jats:p>\n            <jats:bold>Conclusion:<\/jats:bold>\n            Our MLR lays the groundwork for practitioners and researchers to identify defects in compilers systematically.\n          <\/jats:p>","DOI":"10.1145\/3626313","type":"journal-article","created":{"date-parts":[[2023,10,6]],"date-time":"2023-10-06T15:44:44Z","timestamp":1696607084000},"page":"1-42","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":9,"title":["Defect Categorization in Compilers: A Multi-vocal Literature Review"],"prefix":"10.1145","volume":"56","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-5056-757X","authenticated-orcid":false,"given":"Akond","family":"Rahman","sequence":"first","affiliation":[{"name":"Auburn University, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1603-3574","authenticated-orcid":false,"given":"Dibyendu Brinto","family":"Bose","sequence":"additional","affiliation":[{"name":"Virginia Tech, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1657-6798","authenticated-orcid":false,"given":"Farhat Lamia","family":"Barsha","sequence":"additional","affiliation":[{"name":"Tennessee Technological University, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-7466-2985","authenticated-orcid":false,"given":"Rahul","family":"Pandita","sequence":"additional","affiliation":[{"name":"Github, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2023,11,10]]},"reference":[{"key":"e_1_3_5_2_2","unstructured":"2010. Can Compiler Optimization Introduce Bugs? Retrieved from https:\/\/stackoverflow.com\/questions\/2722302\/can-compiler-optimization-introduce-bugs"},{"key":"e_1_3_5_3_2","article-title":"Compilers: Principles, Techniques, and Tools","author":"Aho Alfred V.","year":"1986","unstructured":"Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. 1986. Compilers: Principles, Techniques, and Tools. Addison Wesley.","journal-title":"Addison Wesley"},{"key":"e_1_3_5_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/2961111.2962597"},{"key":"e_1_3_5_5_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2019.03.002"},{"key":"e_1_3_5_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/3485500"},{"key":"e_1_3_5_7_2","first-page":"363","volume-title":"International Conference on Service-Oriented Computing","author":"Chan K. S.","year":"2007","unstructured":"K. S. Chan, Judith Bishop, Johan Steyn, Luciano Baresi, and Sam Guinea. 2007. A fault taxonomy for web service composition. In International Conference on Service-Oriented Computing. Springer, 363\u2013375."},{"key":"e_1_3_5_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/3324884.3416570"},{"key":"e_1_3_5_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/32.177364"},{"key":"e_1_3_5_10_2","doi-asserted-by":"publisher","DOI":"10.1109\/32.177364"},{"key":"e_1_3_5_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377812.3382147"},{"key":"e_1_3_5_12_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISSRE.2014.30"},{"key":"e_1_3_5_13_2","doi-asserted-by":"publisher","DOI":"10.1145\/3213846.3213848"},{"key":"e_1_3_5_14_2","unstructured":"Philippe Daouadi. 2019. Miscompilation: Clang Generates a Weak Symbol for a Generic Lambda That Depends on a Lambda in a Static Function. Retrieved from https:\/\/bugs.llvm.org\/show_bug.cgi?id=44368"},{"key":"e_1_3_5_15_2","doi-asserted-by":"crossref","unstructured":"Henry Davie. 1979. Assemblers and loaders: DW Barron Macdonald and Janes Computer Monographs.","DOI":"10.1016\/0141-9331(79)90080-2"},{"key":"e_1_3_5_16_2","unstructured":"D. W. Barron. 1969. Assemblers and Loaders. McDonald & Co. 61 pages."},{"key":"e_1_3_5_17_2","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2015.65"},{"key":"e_1_3_5_18_2","volume-title":"Evaluating and Mitigating Software Supply Chain Security Risks","author":"Ellison Robert J.","year":"2010","unstructured":"Robert J. Ellison, John B. Goodenough, Charles B. Weinstock, and Carol Woody. 2010. Evaluating and Mitigating Software Supply Chain Security Risks. Technical Report. Carnegie-Mellon."},{"key":"e_1_3_5_19_2","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2016.7577369"},{"key":"e_1_3_5_20_2","unstructured":"Friesen. 2022. The Setup. Retrieved from https:\/\/www.nhn.ou.edu\/~friesen\/cray_compiler_bug.html"},{"key":"e_1_3_5_21_2","doi-asserted-by":"crossref","unstructured":"Vahid Garousi Michael Felderer and Tuna Hacalo\u01e7lu. 2017. Software test maturity assessment and test process improvement: A multivocal literature review. Inf. Softw. Technol. 85 (May 2017) 16\u201342.","DOI":"10.1016\/j.infsof.2017.01.001"},{"key":"e_1_3_5_22_2","doi-asserted-by":"crossref","unstructured":"Vahid Garousi Michael Felderer and Mika V. M\u00e4ntyl\u00e4. 2019. Guidelines for including grey literature and conducting multivocal literature reviews in software engineering. Inf. Softw. Technol. 106 (Feb 2019) 101\u2013121.","DOI":"10.1016\/j.infsof.2018.09.006"},{"key":"e_1_3_5_23_2","doi-asserted-by":"crossref","unstructured":"Vahid Garousi and Mika V. M\u00e4ntyl\u00e4. 2016. When and what to automate in software testing? A multi-vocal literature review. Information and Software Technology 76 (Aug 2016) 92\u2013117.","DOI":"10.1016\/j.infsof.2016.04.015"},{"key":"e_1_3_5_24_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2016.04.015"},{"key":"e_1_3_5_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380395"},{"key":"e_1_3_5_26_2","unstructured":"Chris Fallin iximeow. 2021. Defense in Depth: Stopping a Wasm Compiler Bug Before it Became a Problem. Retrieved from https:\/\/www.fastly.com\/blog\/defense-in-depth-stopping-a-wasm-compiler-bug-before-it-became-a-problem"},{"key":"e_1_3_5_27_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2014.05.006"},{"key":"e_1_3_5_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2012.76"},{"key":"e_1_3_5_29_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-016-9492-y"},{"key":"e_1_3_5_30_2","doi-asserted-by":"publisher","DOI":"10.2307\/2529310"},{"key":"e_1_3_5_31_2","doi-asserted-by":"publisher","DOI":"10.1145\/2858965.2814319"},{"key":"e_1_3_5_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/3453933.3454021"},{"key":"e_1_3_5_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/2786805.2786809"},{"key":"e_1_3_5_34_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE43902.2021.00051"},{"key":"e_1_3_5_35_2","doi-asserted-by":"publisher","DOI":"10.1145\/3360581"},{"key":"e_1_3_5_36_2","doi-asserted-by":"publisher","DOI":"10.5555\/288765"},{"key":"e_1_3_5_37_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-67383-7_2"},{"key":"e_1_3_5_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/277652.277752"},{"key":"e_1_3_5_39_2","doi-asserted-by":"publisher","DOI":"10.1109\/SP40000.2020.00067"},{"key":"e_1_3_5_40_2","unstructured":"Akond Rahman. 2023. Dataset for Paper. Retrieved August 20 2023 from https:\/\/tigermailauburn-my.sharepoint.com\/:f:\/g\/personal\/azr0154_auburn_edu\/Eh9ifbPqv8dLjZ5H9bmSUsUBs23QaCCs785ot-Jv6ewNaQ?e=vOqIju"},{"key":"e_1_3_5_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/SecDev51306.2021.00024"},{"key":"e_1_3_5_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377811.3380409"},{"key":"e_1_3_5_43_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2018.12.004"},{"key":"e_1_3_5_44_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2023.3265962"},{"key":"e_1_3_5_45_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2018.00014"},{"key":"e_1_3_5_46_2","doi-asserted-by":"publisher","DOI":"10.1109\/Agile.2015.12"},{"key":"e_1_3_5_47_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2017.01.011"},{"key":"e_1_3_5_48_2","volume-title":"The Coding Manual for Qualitative Researchers","author":"Saldana Johnny","year":"2015","unstructured":"Johnny Saldana. 2015. The Coding Manual for Qualitative Researchers. Sage."},{"key":"e_1_3_5_49_2","doi-asserted-by":"publisher","DOI":"10.1145\/3284179.3284328"},{"key":"e_1_3_5_50_2","unstructured":"Sean Patrick Santos. 2014. Fortran Derived Type (Mostly Structure Constructor) Bugs. Retrieved from https:\/\/forums.developer.nvidia.com\/t\/fortran-derived-type-mostly-structure-constructor-bugs\/134017"},{"key":"e_1_3_5_51_2","doi-asserted-by":"publisher","unstructured":"R. Schumi and J. Sun. 2021. SpecTest: Specification-based compiler testing. In Fundamental Approaches to Software Engineering (FASE\u201921) E. Guerra and M. Stoelinga (Eds.). Lecture Notes in Computer Science Vol. 12649 Springer Cham. 10.1007\/978-3-030-71500-7_14","DOI":"10.1007\/978-3-030-71500-7_14"},{"key":"e_1_3_5_52_2","doi-asserted-by":"publisher","DOI":"10.1145\/1414004.1414030"},{"key":"e_1_3_5_53_2","doi-asserted-by":"publisher","DOI":"10.1109\/SecDev45635.2020.00025"},{"key":"e_1_3_5_54_2","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468591"},{"key":"e_1_3_5_55_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICST49551.2021.00044"},{"key":"e_1_3_5_56_2","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884879"},{"key":"e_1_3_5_57_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-013-9258-8"},{"key":"e_1_3_5_58_2","doi-asserted-by":"publisher","DOI":"10.1145\/2896941.2896946"},{"key":"e_1_3_5_59_2","doi-asserted-by":"publisher","DOI":"10.1145\/2601248.2601268"},{"key":"e_1_3_5_60_2","doi-asserted-by":"publisher","DOI":"10.1109\/SANER50967.2021.00010"},{"key":"e_1_3_5_61_2","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993532"},{"key":"e_1_3_5_62_2","unstructured":"Bob Yantosca. 2010. Segmentation Faults. Retrieved from http:\/\/wiki.seas.harvard.edu\/geos-chem\/index.php\/Segmentation_faults"},{"key":"e_1_3_5_63_2","unstructured":"Zaita. 2021. The Weirdest Compiler Bug. Retrieved September 20 2022 from https:\/\/blog.zaita.com\/mingw64-compiler-bug\/"},{"key":"e_1_3_5_64_2","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062379"},{"key":"e_1_3_5_65_2","doi-asserted-by":"publisher","DOI":"10.1145\/3213846.3213866"},{"key":"e_1_3_5_66_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2020.110884"}],"container-title":["ACM Computing Surveys"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3626313","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3626313","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T22:53:37Z","timestamp":1750287217000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3626313"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,11,10]]},"references-count":65,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2024,4,30]]}},"alternative-id":["10.1145\/3626313"],"URL":"https:\/\/doi.org\/10.1145\/3626313","relation":{},"ISSN":["0360-0300","1557-7341"],"issn-type":[{"value":"0360-0300","type":"print"},{"value":"1557-7341","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,11,10]]},"assertion":[{"value":"2022-05-04","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-09-18","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-11-10","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}