Investigating the Safe Evolution of Software Product Lines
Laís Neves, Leopoldo Teixeira, Demóstenes Sena, Vander Alves, Uirá Kulesza and Paulo Borba
Abstract:
The adoption of a product line strategy can bring significant productivity and time to market improvements. However, evolving a
product line is risky because it might impact many products and
their users. So when evolving a product line to introduce new features or to improve its design, it is important to make sure that the
behavior of existing products is not affected. In fact, to preserve
the behavior of existing products one usually has to analyze different artifacts, like feature models, configuration knowledge and the
product line core assets. To better understand this process, in this
paper we discover and analyze concrete product line evolution scenarios and, based on the results of this study, we describe a number
of safe evolution templates that developers can use when working
with product lines. For each template, we show examples of their
use in existing product lines. We evaluate the templates by also
analyzing the evolution history of two different product lines and
demonstrating that they can express the corresponding modifications and then help to avoid the mistakes that we identified during
our analysis