Parsing Variant C Code: An Evaluation on Automotive Software
暂无分享,去创建一个
Software product lines are often implemented using the C preprocessor. Different features are selected based on macros; the corresponding code is activated or deactivated using #if. Unfortunately, C preprocessor constructs are not parseable in general, since they break the syntactical structure of C code [1]. This imposes a severe limitation on software analyses: They usually cannot be performed on unpreprocessed C code. In this paper, we will discuss how and to what extent large parts of the unpreprocessed code can be parsed anyway, and what the results can be used for.
[1] Eric A. Brewer,et al. ASTEC: a new approach to refactoring C , 2005, ESEC/FSE-13.
[2] Ralph E. Johnson,et al. Analyzing multiple configurations of a C program , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).
[3] Christian Kästner,et al. Partial preprocessing C code for variability analysis , 2011, VaMoS.
[4] Leon Moonen,et al. Generating robust parsers using island grammars , 2001, Proceedings Eighth Working Conference on Reverse Engineering.