{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,11]],"date-time":"2026-04-11T02:12:27Z","timestamp":1775873547504,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":36,"publisher":"ACM","license":[{"start":{"date-parts":[[2025,3,1]],"date-time":"2025-03-01T00:00:00Z","timestamp":1740787200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"Department of Energy","award":["DE-NA0003969"],"award-info":[{"award-number":["DE-NA0003969"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2025,3]]},"DOI":"10.1145\/3696443.3708942","type":"proceedings-article","created":{"date-parts":[[2025,2,22]],"date-time":"2025-02-22T11:50:26Z","timestamp":1740225026000},"page":"704-717","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Speeding up the Local C++ Development Cycle with Header Substitution"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7390-5834","authenticated-orcid":false,"given":"Nader","family":"Al Awar","sequence":"first","affiliation":[{"name":"University of Texas at Austin, Austin, USA"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-5616-642X","authenticated-orcid":false,"given":"Zijian","family":"Yi","sequence":"additional","affiliation":[{"name":"University of Texas at Austin, Austin, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0033-3994","authenticated-orcid":false,"given":"George","family":"Biros","sequence":"additional","affiliation":[{"name":"University of Texas at Austin, Austin, USA"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5894-7649","authenticated-orcid":false,"given":"Milos","family":"Gligoric","sequence":"additional","affiliation":[{"name":"University of Texas at Austin, Austin, USA"}]}],"member":"320","published-online":{"date-parts":[[2025,3]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"1998. Boost.Asio. https:\/\/www.boost.org\/doc\/libs\/1_86_0\/doc\/html\/boost_asio.html"},{"key":"e_1_3_2_1_2_1","unstructured":"2000. OpenCV. https:\/\/github.com\/opencv\/opencv"},{"key":"e_1_3_2_1_3_1","unstructured":"2014. RapidJSON. https:\/\/github.com\/Tencent\/rapidjson"},{"key":"e_1_3_2_1_4_1","unstructured":"2023. CCache - a fast C\/C++ compiler cache. https:\/\/ccache.dev\/"},{"key":"e_1_3_2_1_5_1","unstructured":"2023. Compiler support for C++20. https:\/\/en.cppreference.com\/w\/cpp\/compiler_support\/20"},{"key":"e_1_3_2_1_6_1","unstructured":"2023. distcc: a fast free distributed C\/C++ compiler. https:\/\/www.distcc.org\/"},{"key":"e_1_3_2_1_7_1","unstructured":"2023. Include What You Use. https:\/\/github.com\/include-what-you-use\/include-what-you-use"},{"key":"e_1_3_2_1_8_1","unstructured":"2023. Lambda expressions. https:\/\/en.cppreference.com\/w\/cpp\/language\/lambda"},{"key":"e_1_3_2_1_9_1","unstructured":"2023. Modules. https:\/\/en.cppreference.com\/w\/cpp\/language\/modules"},{"key":"e_1_3_2_1_10_1","unstructured":"2023. Templates. https:\/\/en.cppreference.com\/w\/cpp\/language\/templates"},{"key":"e_1_3_2_1_11_1","unstructured":"2023. Using Precompiled Headers. https:\/\/gcc.gnu.org\/onlinedocs\/gcc\/Precompiled-Headers.html"},{"key":"e_1_3_2_1_12_1","unstructured":"2024. Awesome HPP. https:\/\/github.com\/p-ranav\/awesome-hpp"},{"key":"e_1_3_2_1_13_1","unstructured":"2024. Class Declaration. https:\/\/en.cppreference.com\/w\/cpp\/language\/class"},{"key":"e_1_3_2_1_14_1","unstructured":"2024. LLVM Link Time Optimization: Design and Implementation. https:\/\/llvm.org\/docs\/LinkTimeOptimization.html"},{"key":"e_1_3_2_1_15_1","unstructured":"2024. Matching the Clang AST. https:\/\/clang.llvm.org\/docs\/LibASTMatchers.html"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/3510454.3516827"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3447818.3460376"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/VL"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/3342195.3387550"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","unstructured":"Marcel B\u00f6hme Ezekiel O. Soremekun Sudipta Chattopadhyay Emamurho Ugherughe and Andreas Zeller. 2017. Where is the Bug and How is It Fixed? An Experiment with Practitioners. In Foundations of Software Engineering. 117\u2013128. https:\/\/doi.org\/10.1145\/3106237.3106255 10.1145\/3106237.3106255","DOI":"10.1145\/3106237.3106255"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2950290.2950358"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","unstructured":"Homayoun Dayani-Fard Yijun Yu John Mylopoulos and Periklis Andritsos. 2005. Improving the Build Architecture of Legacy C\/C++ Software Systems. In Fundamental Approaches to Software Engineering. 96\u2013110. https:\/\/doi.org\/10.1007\/978-3-540-31984-9_8 10.1007\/978-3-540-31984-9_8","DOI":"10.1007\/978-3-540-31984-9_8"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/3154690.3154740"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2014.07.003"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/P3HPC49587.2019.00013"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/3141235.3141240"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/1251503.1251510"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2004.1281665"},{"key":"e_1_3_2_1_29_1","unstructured":"Dennis Mivelli. 2022. Analyzing and Reducing Compilation Times for C++ Programs."},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISSREW.2014.36"},{"key":"e_1_3_2_1_31_1","volume-title":"The Design and Evolution of C++","author":"Stroustrup Bjarne","year":"2015","unstructured":"Bjarne Stroustrup. 1995. The Design and Evolution of C++. ACM Press\/Addison-Wesley Publishing Co., USA. isbn:0201543303"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2021.3098509"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/3373376.3378470"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3485513"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2005.73"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1109\/APSEC.2015.27"}],"event":{"name":"CGO '25: 23rd ACM\/IEEE International Symposium on Code Generation and Optimization","location":"Las Vegas NV USA","acronym":"CGO '25","sponsor":["SIGPLAN SIGPLAN Programming Languages","SIGMICRO SIGMICRO Microarchitecture","IEEE Computer Society IEEE Computer Society"]},"container-title":["Proceedings of the 23rd ACM\/IEEE International Symposium on Code Generation and Optimization"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3696443.3708942","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T01:10:13Z","timestamp":1750295413000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3696443.3708942"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,3]]},"references-count":36,"alternative-id":["10.1145\/3696443.3708942","10.1145\/3696443"],"URL":"https:\/\/doi.org\/10.1145\/3696443.3708942","relation":{},"subject":[],"published":{"date-parts":[[2025,3]]},"assertion":[{"value":"2025-03-01","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}