In the era of mobile devices and the Internet of things, software systems are ubiquitous. A multitude of hardware specifics, fast development of applications, and the need of …
M Lillack, C Kästner, E Bodden - Proceedings of the 29th ACM/IEEE …, 2014 - dl.acm.org
Highly-configurable software systems are pervasive, although configuration options and their interactions raise complexity of the program and increase maintenance effort …
Variant-rich software systems offer a large degree of customization, allowing users to configure the target system according to their preferences and needs. Facing high degrees …
Tracing requirements to their implementation is crucial to all stakeholders of a software development process. When managing software variability, requirements are typically …
Highly configurable software often uses preprocessor annotations to handle variability. However, understanding, maintaining, and evolving code with such annotations is difficult …
Developers spend a substantial amount of their time with program comprehension. To improve their comprehension and refresh their memory, developers need to communicate …
Editing the source code of variational software is complicated by the presence of variation annotations, such as# ifdef statements, and by code that is only included in some …
The C preprocessor (CPP) is a simple and language-independent tool, widely used to implement variable software systems using conditional compilation (ie, by including or …
Preprocessors support the diversification of software products with# ifdefs, but also require additional effort from developers to maintain and understand variable code. We conjecture …