{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,9]],"date-time":"2026-06-09T08:46:04Z","timestamp":1780994764954,"version":"3.54.1"},"publisher-location":"New York, NY, USA","reference-count":43,"publisher":"ACM","license":[{"start":{"date-parts":[[2017,9,23]],"date-time":"2017-09-23T00:00:00Z","timestamp":1506124800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"NSFC","award":["61421091, 61332010 and 61672045"],"award-info":[{"award-number":["61421091, 61332010 and 61672045"]}]},{"name":"National Key Research and Development Program","award":["2016YFB1000105"],"award-info":[{"award-number":["2016YFB1000105"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2017,9,23]]},"DOI":"10.1145\/3131704.3131715","type":"proceedings-article","created":{"date-parts":[[2017,9,27]],"date-time":"2017-09-27T12:34:00Z","timestamp":1506515640000},"page":"1-10","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Un-preprocessing"],"prefix":"10.1145","author":[{"given":"Yufeng","family":"Cheng","sequence":"first","affiliation":[{"name":"Key Laboratory of High Confidence Software Technologies (Peking University), MoE and Institute of Software, School of EECS, Peking University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Meng","family":"Wang","sequence":"additional","affiliation":[{"name":"School of Computing, University of Kent, UK"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yingfei","family":"Xiong","sequence":"additional","affiliation":[{"name":"Key Laboratory of High Confidence Software Technologies (Peking University), MoE and Institute of Software, School of EECS, Peking University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Zhengkai","family":"Wu","sequence":"additional","affiliation":[{"name":"Key Laboratory of High Confidence Software Technologies (Peking University), MoE and Institute of Software, School of EECS, Peking University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yiming","family":"Wu","sequence":"additional","affiliation":[{"name":"Key Laboratory of High Confidence Software Technologies (Peking University), MoE and Institute of Software, School of EECS, Peking University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Lu","family":"Zhang","sequence":"additional","affiliation":[{"name":"Key Laboratory of High Confidence Software Technologies (Peking University), MoE and Institute of Software, School of EECS, Peking University, China"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2017,9,23]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1509239.1509274"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/319628.319634"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2001.957833"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1858996.1859064"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/357775.357777"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/319732.319740"},{"issue":"12","key":"e_1_3_2_1_7_1","first-page":"1146","article-title":"An empirical analysis of c preprocessor use. Software Engineering","volume":"28","author":"Ernst Michael D.","year":"2002","unstructured":"Michael D. Ernst , Greg J. Badros , and David Notkin . An empirical analysis of c preprocessor use. Software Engineering , IEEE Transactions on , 28 ( 12 ): 1146 -- 1170 , 2002 . Michael D. Ernst, Greg J. Badros, and David Notkin. An empirical analysis of c preprocessor use. Software Engineering, IEEE Transactions on, 28(12):1146--1170, 2002.","journal-title":"IEEE Transactions on"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2010.5447896"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1232420.1232424"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/512035.512039"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2005.23"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1002\/smr.1603"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2254064.2254103"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-53507-1_93"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1863543.1863573"},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048128"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606626"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/319838.319859"},{"key":"e_1_3_2_1_19_1","unstructured":"Jukka Korpela. Using a c preprocessor as an html authoring tool. http:\/\/www.cs.tut.fi\/~jkorpela\/html\/cpre.html accessed on Jan 8 2015 2000.  Jukka Korpela. Using a c preprocessor as an html authoring tool. http:\/\/www.cs.tut.fi\/~jkorpela\/html\/cpre.html accessed on Jan 8 2015 2000."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.5555\/2337223.2337225"},{"issue":"1","key":"e_1_3_2_1_21_1","first-page":"54","article-title":"A generic method for automatic software repair. Software Engineering","volume":"38","author":"Goues Claire Le","year":"2012","unstructured":"Claire Le Goues , ThanhVu Nguyen , Stephanie Forrest , and Westley Weimer . Genprog : A generic method for automatic software repair. Software Engineering , IEEE Transactions on , 38 ( 1 ): 54 -- 72 , 2012 . Claire Le Goues, ThanhVu Nguyen, Stephanie Forrest, and Westley Weimer. Genprog: A generic method for automatic software repair. Software Engineering, IEEE Transactions on, 38(1):54--72, 2012.","journal-title":"IEEE Transactions on"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31057-7_26"},{"key":"e_1_3_2_1_23_1","first-page":"91","volume-title":"PEPM","author":"Li Jun","year":"2015","unstructured":"Jun Li , Chenglong Wang , Yingfei Xiong , and Zhenjiang Hu. Swin : Towards type-safe java program adaptation between APIs . In PEPM , pages 91 -- 102 , 2015 . Jun Li, Chenglong Wang, Yingfei Xiong, and Zhenjiang Hu. Swin: Towards type-safe java program adaptation between APIs. In PEPM, pages 91--102, 2015."},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1960275.1960299"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491411.2491437"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1217935.1217954"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1291151.1291162"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1081706.1081712"},{"key":"e_1_3_2_1_29_1","volume-title":"ECOOP, page to appear.","author":"Medeiros Fl\u00e1vio","year":"2015","unstructured":"Fl\u00e1vio Medeiros , Christian K\u00e4stner , M\u00e1rcio Ribeiro , Sarah Nadi , and Rohit Gheyi . The love\/hate relationship with the C preprocessor: An interview study . In ECOOP, page to appear. 2015 . Fl\u00e1vio Medeiros, Christian K\u00e4stner, M\u00e1rcio Ribeiro, Sarah Nadi, and Rohit Gheyi. The love\/hate relationship with the C preprocessor: An interview study. In ECOOP, page to appear. 2015."},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993537"},{"key":"e_1_3_2_1_31_1","first-page":"772","volume-title":"ICSE","author":"Thien Nguyen Hoang Duong","year":"2013","unstructured":"Hoang Duong Thien Nguyen , Dawei Qi , Abhik Roychoudhury , and Satish Chandra . Semfix : Program repair via semantic analysis . In ICSE , pages 772 -- 781 , 2013 . Hoang Duong Thien Nguyen, Dawei Qi, Abhik Roychoudhury, and Satish Chandra. Semfix: Program repair via semantic analysis. In ICSE, pages 772--781, 2013."},{"key":"e_1_3_2_1_32_1","unstructured":"Inc. (OMG) Object Management Group. Meta object facility (mof) 2.0 query\/view\/-transformation specification. https:\/\/hackage.haskell.org\/package\/lens.  Inc. (OMG) Object Management Group. Meta object facility (mof) 2.0 query\/view\/-transformation specification. https:\/\/hackage.haskell.org\/package\/lens."},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/2635868.2635908"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-00722-4_9"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/1215995.1216005"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2568225.2568254"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"crossref","unstructured":"Andy\n      Sch\u00fcrr\n    .\n  Specification of graph translators with triple graph grammars\n  . In ErnstW. Mayr Gunther Schmidt and Gottfried Tinhofer editors Graph-Theoretic Concepts in Computer Science volume \n  903\n   of \n  Lecture Notes in Computer Science pages \n  151\n  --\n  163\n  . \n  Springer Berlin Heidelberg 1995\n  .  Andy Sch\u00fcrr. Specification of graph translators with triple graph grammars. In ErnstW. Mayr Gunther Schmidt and Gottfried Tinhofer editors Graph-Theoretic Concepts in Computer Science volume 903 of Lecture Notes in Computer Science pages 151--163. Springer Berlin Heidelberg 1995.","DOI":"10.1007\/3-540-59071-4_45"},{"key":"e_1_3_2_1_38_1","volume-title":"or portability experience with c news","author":"Spencer Henry","year":"1992","unstructured":"Henry Spencer and Geoff Collyer . #ifdef considered harmful , or portability experience with c news , 1992 . Henry Spencer and Geoff Collyer. #ifdef considered harmful, or portability experience with c news, 1992."},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2003.1245303"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10270-008-0109-9"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2003.1192417"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1594834.1480904"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/155090.155105"}],"event":{"name":"Internetware'17: The Eighth Asia-Pacific Symposium on Internetware","location":"Shanghai China","acronym":"Internetware'17","sponsor":["Fudan University","SIGSOFT ACM Special Interest Group on Software Engineering","CCF China Computer Federation"]},"container-title":["Proceedings of the 9th Asia-Pacific Symposium on Internetware"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3131704.3131715","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3131704.3131715","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T02:13:58Z","timestamp":1750212838000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3131704.3131715"}},"subtitle":["Extended CPP that works with your tools"],"short-title":[],"issued":{"date-parts":[[2017,9,23]]},"references-count":43,"alternative-id":["10.1145\/3131704.3131715","10.1145\/3131704"],"URL":"https:\/\/doi.org\/10.1145\/3131704.3131715","relation":{},"subject":[],"published":{"date-parts":[[2017,9,23]]},"assertion":[{"value":"2017-09-23","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}