Abstract
Highly configurable software often uses preproces-
sor annotations to handle variability. However, understanding,
maintaining, and evolving code with such annotations is difficult,
mainly because a developer has to work with all variants at a
time. Dedicated methods and tools that allow working on a subset
of all variants could ease the engineering of highly configurable
software. We investigate the potential of one kind of such tools:
projection-based variation control systems. For such systems we
aim to understand: (i) what end-user operations they need to
support, and (ii) whether they can realize the actual evolution
of real-world, highly configurable software. We conduct an
experiment that investigates variability-related evolution patterns
and that evaluates the feasibility of a projection-based variation
control system by replaying parts of the history of a highly
configurable real-world 3D printer firmware project. Among
others, we show that the prototype variation control system does
indeed support the evolution of a highly configurable system and
that in general, it does not degrade the code.
sor annotations to handle variability. However, understanding,
maintaining, and evolving code with such annotations is difficult,
mainly because a developer has to work with all variants at a
time. Dedicated methods and tools that allow working on a subset
of all variants could ease the engineering of highly configurable
software. We investigate the potential of one kind of such tools:
projection-based variation control systems. For such systems we
aim to understand: (i) what end-user operations they need to
support, and (ii) whether they can realize the actual evolution
of real-world, highly configurable software. We conduct an
experiment that investigates variability-related evolution patterns
and that evaluates the feasibility of a projection-based variation
control system by replaying parts of the history of a highly
configurable real-world 3D printer firmware project. Among
others, we show that the prototype variation control system does
indeed support the evolution of a highly configurable system and
that in general, it does not degrade the code.
Original language | English |
---|---|
Title of host publication | Proceedings of 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME) |
Number of pages | 11 |
Publisher | IEEE |
Publication date | 5 Oct 2016 |
ISBN (Print) | N/A |
Publication status | Published - 5 Oct 2016 |
Event | International Conference on Software Maintenance and Evolution - Raleigh Marriott City Center, Raleigh, United States Duration: 5 Oct 2016 → 7 Oct 2016 Conference number: 32 http://icsme2016.github.io |
Conference
Conference | International Conference on Software Maintenance and Evolution |
---|---|
Number | 32 |
Location | Raleigh Marriott City Center |
Country/Territory | United States |
City | Raleigh |
Period | 05/10/2016 → 07/10/2016 |
Internet address |
Keywords
- - Highly Configurable Software
- - Preprocessor Annotations
- - Variability Management
- - Projection-Based Variation Control
- - Software Evolution Patterns