TY - JOUR
T1 - Guiding the Evolution of Product-Line Configurations
AU - Nieke, Michael
AU - Sampaio, Gabriela
AU - Thüm, Thomas
AU - Seidl, Christoph
AU - Teixeira, Leopoldo
AU - Schaefer, Ina
PY - 2022
Y1 - 2022
N2 - A product line is an approach for systematically managing configuration options of customizable systems, usually by means of features. Products are generated for configurations consisting of selected features. Product-line evolution can lead to unintended changes to product behavior. We illustrate that updating configurations after product-line evolution requires decisions of both, domain engineers responsible for product-line evolution as well as application engineers responsible for configurations. The challenge is that domain and application engineers might not be able to interact with each other. We propose a formal foundation and a methodology that enables domain engineers to guide application engineers through configuration evolution by sharing knowledge on product-line evolution and by defining automatic update operations for configurations. As an effect, we enable knowledge transfer between those engineers without the need for interactions. We evaluate our methodology on four large-scale industrial product lines. The results of the qualitative evaluation indicate that our method is flexible enough for real-world product-line evolution. The quantitative evaluation indicates that we detect product behavior changes for up to 55.3% of the configurations which would not have been detected using existing methods.
AB - A product line is an approach for systematically managing configuration options of customizable systems, usually by means of features. Products are generated for configurations consisting of selected features. Product-line evolution can lead to unintended changes to product behavior. We illustrate that updating configurations after product-line evolution requires decisions of both, domain engineers responsible for product-line evolution as well as application engineers responsible for configurations. The challenge is that domain and application engineers might not be able to interact with each other. We propose a formal foundation and a methodology that enables domain engineers to guide application engineers through configuration evolution by sharing knowledge on product-line evolution and by defining automatic update operations for configurations. As an effect, we enable knowledge transfer between those engineers without the need for interactions. We evaluate our methodology on four large-scale industrial product lines. The results of the qualitative evaluation indicate that our method is flexible enough for real-world product-line evolution. The quantitative evaluation indicates that we detect product behavior changes for up to 55.3% of the configurations which would not have been detected using existing methods.
KW - Product line
KW - Product-line evolution
KW - Guided feature configuration evolution
KW - Product behavior preservation
KW - Product line
KW - Product-line evolution
KW - Guided feature configuration evolution
KW - Product behavior preservation
U2 - 10.1007/s10270-021-00906-w
DO - 10.1007/s10270-021-00906-w
M3 - Journal article
VL - 21
SP - 225
EP - 247
JO - Software & Systems Modeling (SoSyM)
JF - Software & Systems Modeling (SoSyM)
ER -