Supporting Program Comprehension in Large Preprocessor-Based Software Product Lines
Software product lines are typically implemented with preprocessors in industry. However, preprocessors are often considered harmful, because they can lead to obfuscated and difficult-to-comprehend source code. Hence, the authors introduced scalable concepts to highlight annotated code fragments with background colours. In their prototype FeatureCommander, they implemented these concepts to support program comprehension in large SPLs. To scale background-colour usage, they used a default setting, in which annotated code is highlighted with alternating shades of grey. A developer can assign colours to features on an as-needed basis. Furthermore, they provide easy storing and loading of colour assignments, so that switching between different tasks is supported.