{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,5,3]],"date-time":"2025-05-03T17:10:03Z","timestamp":1746292203881,"version":"3.40.4"},"publisher-location":"Cham","reference-count":26,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319091556"},{"type":"electronic","value":"9783319091563"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2014]]},"DOI":"10.1007\/978-3-319-09156-3_29","type":"book-chapter","created":{"date-parts":[[2014,7,2]],"date-time":"2014-07-02T11:15:22Z","timestamp":1404299722000},"page":"402-417","source":"Crossref","is-referenced-by-count":1,"title":["Service Layer for IDE Integration of C\/C++ Preprocessor Related Analysis"],"prefix":"10.1007","author":[{"given":"Rich\u00e1rd","family":"D\u00e9vai","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"L\u00e1szl\u00f3","family":"Vid\u00e1cs","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rudolf","family":"Ferenc","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tibor","family":"Gyim\u00f3thy","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"29_CR1","doi-asserted-by":"crossref","first-page":"243","DOI":"10.1145\/1509239.1509274","volume-title":"AOSD 2009: Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development","author":"B. Adams","year":"2009","unstructured":"Adams, B., De Meuter, W., Tromp, H., Hassan, A.E.: Can we refactor conditional compilation into aspects? In: AOSD 2009: Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development, pp. 243\u2013254. ACM, New York (2009)"},{"key":"29_CR2","doi-asserted-by":"crossref","unstructured":"Ebert, J., Kullbach, B., Riediger, V., Winter, A.: GUPRO - Generic Understanding of Programs. In: Mens, T., Sch\u00fcrr, A., Taentzer, G. (eds.) Electronic Notes in Theoretical Computer Science, vol.\u00a072, Elsevier (2002)","DOI":"10.1016\/S1571-0661(05)80528-6"},{"key":"29_CR3","doi-asserted-by":"crossref","unstructured":"Ernst, M.D., Badros, G.J., Notkin, D.: An empirical analysis of C preprocessor use. IEEE Transactions on Software Engineering\u00a028(12) (December 2002)","DOI":"10.1109\/TSE.2002.1158288"},{"issue":"4","key":"29_CR4","doi-asserted-by":"publisher","first-page":"699","DOI":"10.1007\/s10664-012-9208-x","volume":"18","author":"J. Feigenspan","year":"2013","unstructured":"Feigenspan, J., K\u00e4stner, C., Apel, S., Liebig, J., Schulze, M., Dachselt, R., Papendieck, M., Leich, T., Saake, G.: Do background colors improve program comprehension in the #ifdef hell? Empirical Software Engineering\u00a018(4), 699\u2013745 (2013)","journal-title":"Empirical Software Engineering"},{"key":"29_CR5","doi-asserted-by":"crossref","unstructured":"Garrido, A., Johnson, R.: Analyzing multiple configurations of a c program. In: Proceedings of the 21st International Conference on Software Maintenance (ICSM 2005), pp. 379\u2013388. IEEE Computer Society (2005)","DOI":"10.1109\/ICSM.2005.23"},{"issue":"12","key":"29_CR6","first-page":"1285","volume":"25","author":"A. Garrido","year":"2013","unstructured":"Garrido, A., Johnson, R.: Embracing the c preprocessor during refactoring. Journal of Software: Evolution and Process\u00a025(12), 1285\u20131304 (2013)","journal-title":"Journal of Software: Evolution and Process"},{"key":"29_CR7","doi-asserted-by":"crossref","unstructured":"Krone, M., Snelting, G.: On the inference of configuration structures from source code. In: Proceedings of ICSE 1994, 16th International Conference on Software Engineering, pp. 49\u201357. IEEE Computer Society (1994)","DOI":"10.1109\/ICSE.1994.296765"},{"key":"29_CR8","doi-asserted-by":"crossref","unstructured":"Kullbach, B., Riediger, V.: Folding: An Approach to Enable Program Understanding of Preprocessed Languages. In: Proceedings of the 8th Working Conference on Reverse Engineering (WCRE 2001), pp. 3\u201312. IEEE Computer Society (2001)","DOI":"10.1109\/WCRE.2001.957805"},{"key":"29_CR9","doi-asserted-by":"crossref","unstructured":"Latendresse, M.: Fast symbolic evaluation of C\/C++ preprocessing using conditional values. In: Proceedings of the 7th European Conference on Software Maintenance and Reengineering (CSMR 2003), pp. 170\u2013179. IEEE Computer Society (March 2003)","DOI":"10.1109\/CSMR.2003.1192425"},{"key":"29_CR10","doi-asserted-by":"crossref","unstructured":"Latendresse, M.: Rewrite systems for symbolic evaluation of c-like preprocessing. In: Proceedings of the 8th European Conference on Software Maintenance and Reengineering (CSMR 2004), pp. 165\u2013173. IEEE Computer Society (March 2004)","DOI":"10.1109\/CSMR.2004.1281417"},{"key":"29_CR11","doi-asserted-by":"crossref","first-page":"105","DOI":"10.1145\/1806799.1806819","volume-title":"Proceedings of the 32Nd ACM\/IEEE International Conference on Software Engineering, ICSE 2010","author":"J. Liebig","year":"2010","unstructured":"Liebig, J., Apel, S., Lengauer, C., K\u00e4stner, C., Schulze, M.: An analysis of the variability in forty preprocessor-based software product lines. In: Proceedings of the 32Nd ACM\/IEEE International Conference on Software Engineering, ICSE 2010, vol.\u00a01, pp. 105\u2013114. ACM, New York (2010)"},{"key":"29_CR12","doi-asserted-by":"crossref","unstructured":"Livadas, P., Small, D.: Understanding code containing preprocessor constructs. In: Proceedings of IWPC 1994, Third IEEE Workshop on Program Comprehension, pp. 89\u201397 (November 1994)","DOI":"10.1109\/WPC.1994.341255"},{"key":"29_CR13","doi-asserted-by":"crossref","unstructured":"Mennie, C.A., Clarke, C.L.A.: Giving meaning to macros. In: Proceedings of IWPC 2004, pp. 79\u201388. IEEE Computer Society (2004)","DOI":"10.1109\/WPC.2004.1311050"},{"key":"29_CR14","unstructured":"Microsoft Visual Studio (2014), http:\/\/www.microsoft.com\/visualstudio\/"},{"key":"29_CR15","doi-asserted-by":"crossref","unstructured":"Saebjoernsen, A., Jiang, L., Quinlan, D.J., Su, Z.: Static validation of c preprocessor macros. In: AOSD 2009: Proceedings of the 8th ACM International Conference on Aspect-Oriented Software Development, pp. 149\u2013160. IEEE Computer Society (2009)","DOI":"10.1109\/ASE.2009.75"},{"key":"29_CR16","doi-asserted-by":"crossref","first-page":"9","DOI":"10.1145\/1233901.1233910","volume-title":"ACP4IS 2007: Proceedings of the 6th Workshop on Aspects, Components, and Patterns for Infrastructure Software","author":"N. Singh","year":"2007","unstructured":"Singh, N., Gibbs, C., Coady, Y.: C-clr: a tool for navigating highly configurable system software. In: ACP4IS 2007: Proceedings of the 6th Workshop on Aspects, Components, and Patterns for Infrastructure Software, p. 9. ACM, New York (2007)"},{"key":"29_CR17","unstructured":"Spencer, H., Collyer, G.: #ifdef considered harmful, or portability experience with C News. In: USENIX Summer Technical Conference, pp. 185\u2013197 (June 1992)"},{"key":"29_CR18","unstructured":"Spinellis, D.: A refactoring browser for c. In: ECOOP 2008 International Workshop on Advanced Software Development Tools and Techniques (WASDeTT) (2008)"},{"key":"29_CR19","unstructured":"Spinellis, D.: Optimizing header file include directives. Journal of Software Maintenance and Evolution: Research and Practice\u00a022 (2010)"},{"key":"29_CR20","doi-asserted-by":"crossref","unstructured":"Sutton, A., Maletic, J.I.: How we manage portability and configuration with the c preprocessor. In: Proceedings of the 23rd International Conference on Software Maintenance (ICSM 2007), pp. 275\u2013284 (2007)","DOI":"10.1109\/ICSM.2007.4362640"},{"key":"29_CR21","unstructured":"Understand for C++ homepage (2009), http:\/\/www.scitools.com"},{"key":"29_CR22","doi-asserted-by":"crossref","unstructured":"Vid\u00e1cs, L., Besz\u00e9des, A., Ferenc, R.: Columbus Schema for C\/C++ Preprocessing. In: Proceedings of CSMR 2004 (8th European Conference on Software Maintenance and Reengineering), pp. 75\u201384. IEEE Computer Society (March 2004)","DOI":"10.1109\/CSMR.2004.1281408"},{"key":"29_CR23","doi-asserted-by":"crossref","unstructured":"Vid\u00e1cs, L., Besz\u00e9des, A., Ferenc, R.: Macro impact analysis using macro slicing. In: Proceedings of ICSOFT 2007, The 2nd International Conference on Software and Data Technologies, pp. 230\u2013235 (July 2007)","DOI":"10.5220\/0001341902300235"},{"issue":"7","key":"29_CR24","doi-asserted-by":"publisher","first-page":"399","DOI":"10.1016\/j.scico.2009.02.003","volume":"74","author":"L. Vid\u00e1cs","year":"2009","unstructured":"Vid\u00e1cs, L., Besz\u00e9des, \u00c1., Gyim\u00f3thy, T.: Combining Preprocessor Slicing with C\/C++ Language Slicing. Science of Computer Programming\u00a074(7), 399\u2013413 (2009)","journal-title":"Science of Computer Programming"},{"key":"29_CR25","series-title":"CCIS","doi-asserted-by":"publisher","first-page":"121","DOI":"10.1007\/978-3-642-35267-6_16","volume-title":"Computer Applications for Software Engineering, Disaster Recovery, and Business Continuity","author":"L. Vid\u00e1cs","year":"2012","unstructured":"Vid\u00e1cs, L., D\u00e9vai, R., Ferenc, R., Gyim\u00f3thy, T.: Developer Support for Understanding Preprocessor Macro Expansions. In: Kim, T.-h., Ramos, C., Kim, H.-k., Kiumi, A., Mohammed, S., \u015al\u0119zak, D. (eds.) ASEA\/DRBC 2012. CCIS, vol.\u00a0340, pp. 121\u2013130. Springer, Heidelberg (2012)"},{"key":"29_CR26","doi-asserted-by":"crossref","unstructured":"Vittek, M.: Refactoring browser with preprocessor. In: Proceedings of the Seventh European Conference on Software Maintenance and Reengineering (CSMR 2003), Benevento, Italy, pp. 101\u2013110 (March 2003)","DOI":"10.1109\/CSMR.2003.1192417"}],"container-title":["Lecture Notes in Computer Science","Computational Science and Its Applications \u2013 ICCSA 2014"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-09156-3_29","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,5,3]],"date-time":"2025-05-03T16:56:10Z","timestamp":1746291370000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-09156-3_29"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014]]},"ISBN":["9783319091556","9783319091563"],"references-count":26,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-09156-3_29","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2014]]}}}