Abstract
Feature models are a widely used modeling notation for variability and commonality management in software product line (SPL)
engineering. In order to keep an SPL and its feature model aligned, feature models must be changed by including/excluding
new features and products, either because faults in the model are found or to re?ect the normal evolution of the SPL. The
modi?cation of the feature model to be made to satisfy these change requirements can be complex and error-prone. In this paper,
we present a method that is able to automatically update a feature model in order to satisfy a given update request. The method
is based on an evolutionary algorithm that iteratively applies structure-preserving mutations to the original model, until
the model is completely updated or some other termination condition occurs. Among all the possible models achieving the update
request, the method privileges those structurally simpler. We evaluate the approach on real-world feature models; although
it does not guarantee to com- pletely update all the possible feature models, empirical analysis shows that, on average, around
89% of requested changes are applied.
[download the pdf file] [DOI]