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.
Originalsprog | Engelsk |
---|---|
Titel | Proceedings of 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME) |
Antal sider | 11 |
Forlag | IEEE |
Publikationsdato | 5 okt. 2016 |
ISBN (Trykt) | N/A |
Status | Udgivet - 5 okt. 2016 |
Begivenhed | International Conference on Software Maintenance and Evolution - Raleigh Marriott City Center, Raleigh, USA Varighed: 5 okt. 2016 → 7 okt. 2016 Konferencens nummer: 32 http://icsme2016.github.io |
Konference
Konference | International Conference on Software Maintenance and Evolution |
---|---|
Nummer | 32 |
Lokation | Raleigh Marriott City Center |
Land/Område | USA |
By | Raleigh |
Periode | 05/10/2016 → 07/10/2016 |
Internetadresse |
Emneord
- - Highly Configurable Software
- - Preprocessor Annotations
- - Variability Management
- - Projection-Based Variation Control
- - Software Evolution Patterns