{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:21:28Z","timestamp":1750220488089,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":22,"publisher":"ACM","license":[{"start":{"date-parts":[[2021,10,25]],"date-time":"2021-10-25T00:00:00Z","timestamp":1635120000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2021,10,25]]},"DOI":"10.1145\/3477113.3487268","type":"proceedings-article","created":{"date-parts":[[2021,10,11]],"date-time":"2021-10-11T10:25:01Z","timestamp":1633947901000},"page":"62-68","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["CppSig"],"prefix":"10.1145","author":[{"given":"Christian","family":"Dietrich","sequence":"first","affiliation":[{"name":"Technische Universit\u00e4t Hamburg, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2021,10,25]]},"reference":[{"key":"e_1_3_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.15439\/2017F358"},{"key":"e_1_3_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1002\/(SICI)1097-024X(20000710)30:8&lt;907::AID-SPE324&gt;3.3.CO;2--9"},{"key":"e_1_3_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2162024.2162030"},{"key":"e_1_3_2_2_4_1","volume-title":"Proceedings of the 4th International Conference on Embedded Networked Sensor Systems","author":"Dunkels Adam","year":"2006","unstructured":"Adam Dunkels, Oliver Schmidt, Thiemo Voigt, and Muneeb Ali. Protothreads: Simplifying event-driven programming of memory-constrained embedded systems. In Proceedings of the 4th International Conference on Embedded Networked Sensor Systems, November 2006. URL http:\/\/dunkels.com\/adam\/dunkels06protothreads.pdf."},{"key":"e_1_3_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2002.1158288"},{"key":"e_1_3_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254103"},{"key":"e_1_3_2_2_7_1","volume-title":"Ace: a syntax-driven c preprocessor","author":"Gosling James","year":"1989","unstructured":"James Gosling. Ace: a syntax-driven c preprocessor. Australian Unix Users Group, 1989."},{"key":"e_1_3_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048128"},{"key":"e_1_3_2_2_9_1","volume-title":"The BSD conference","volume":"5","author":"Lattner Chris","year":"2008","unstructured":"Chris Lattner. Llvm and clang: Next generation compiler technology. In The BSD conference, volume 5, 2008."},{"key":"e_1_3_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1960275.1960299"},{"key":"e_1_3_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-15579-6_10"},{"key":"e_1_3_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1095430.1081712"},{"key":"e_1_3_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2015.495"},{"key":"e_1_3_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/MSR.2013.6624017"},{"key":"e_1_3_2_2_15_1","volume-title":"Defining c preprocessor macro libraries with functional programs. Computing & Informatics, 35(4)","author":"N\u00e9meth Boldizs\u00e1r","year":"2016","unstructured":"Boldizs\u00e1r N\u00e9meth, M\u00e1t\u00e9 Kar\u00e1csony, Zolt\u00e1n Kelemen, and M\u00e1t\u00e9 Tejfel. Defining c preprocessor macro libraries with functional programs. Computing & Informatics, 35(4), 2016."},{"key":"e_1_3_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2009.75"},{"key":"e_1_3_2_2_17_1","first-page":"81","volume-title":"In Scheme and Functional Programming Workshop","author":"Siek Jeremy G.","year":"2006","unstructured":"Jeremy G. Siek. Gradual typing for functional languages. In In Scheme and Functional Programming Workshop, pages 81--92, 2006."},{"key":"e_1_3_2_2_18_1","volume-title":"Proceedings of the 1992 USENIX Annual Technical Conference","author":"Spencer Henry","year":"1992","unstructured":"Henry Spencer and Gehoff Collyer. #ifdef considered harmful, or portability experience with C News. In Proceedings of the 1992 USENIX Annual Technical Conference, Berkeley, CA, USA, June 1992. USENIX Association."},{"key":"e_1_3_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/1098646"},{"key":"e_1_3_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1966445.1966451"},{"key":"e_1_3_2_2_21_1","first-page":"421","volume-title":"Proceedings of the 2014 USENIX Annual Technical Conference (USENIX '14)","author":"Tartler Reinhard","year":"2014","unstructured":"Reinhard Tartler, Christian Dietrich, Julio Sincero, Wolfgang Schr\u00f6der-Preikschat, and Daniel Lohmann. Static analysis of variability in system software: The 90,000 #ifdefs issue. In Proceedings of the 2014 USENIX Annual Technical Conference (USENIX '14), pages 421--432, Berkeley, CA, USA, June 2014. USENIX Association. ISBN 978-1-931971-10-2. URL https:\/\/www.usenix.org\/conference\/atc14\/technical-sessions\/presentation\/tartler."},{"key":"e_1_3_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/155090.155105"}],"event":{"name":"SOSP '21: ACM SIGOPS 28th Symposium on Operating Systems Principles","sponsor":["SIGOPS ACM Special Interest Group on Operating Systems"],"location":"Virtual Event Germany","acronym":"SOSP '21"},"container-title":["Proceedings of the 11th Workshop on Programming Languages and Operating Systems"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3477113.3487268","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3477113.3487268","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T20:49:14Z","timestamp":1750193354000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3477113.3487268"}},"subtitle":["Extracting Type Information for C-Preprocessor Macro Expansions"],"short-title":[],"issued":{"date-parts":[[2021,10,25]]},"references-count":22,"alternative-id":["10.1145\/3477113.3487268","10.1145\/3477113"],"URL":"https:\/\/doi.org\/10.1145\/3477113.3487268","relation":{},"subject":[],"published":{"date-parts":[[2021,10,25]]},"assertion":[{"value":"2021-10-25","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}