Facilitating the evolution of products in product line engineering by capturing and replaying configuration decisions

W Heider, R Rabiser, P Grünbacher - International Journal on Software …, 2012 - Springer
International Journal on Software Tools for Technology Transfer, 2012Springer
Software product lines rely on developing reusable artifacts and defining their variability in
models to support and accelerate the derivation of individual products. A major challenge in
product lines is the continuous evolution of both the reusable artifacts and derived products.
Products that have been derived from a product line have to be updated regularly, eg, after
bugfixes or the development of new features. Changes to reusable artifacts and variability
models have to be propagated to derived products. The aim of our research is to provide …
Abstract
Software product lines rely on developing reusable artifacts and defining their variability in models to support and accelerate the derivation of individual products. A major challenge in product lines is the continuous evolution of both the reusable artifacts and derived products. Products that have been derived from a product line have to be updated regularly, e.g., after bugfixes or the development of new features. Changes to reusable artifacts and variability models have to be propagated to derived products. The aim of our research is to provide automated support for the evolution of products derived from product lines by capturing and replaying configuration decisions. Our PUPLE (Product Updates in Product Line Engineering) approach supports updating derived products after changes to the product line they have been derived from. It exploits the structure of variability models and uses change-tracking data to minimize user intervention. The paper first explores how different types of product line changes influence the derived products. It then presents extensions to our decision-oriented product line approach DOPLER to support product line evolution. We evaluate the feasibility of the PUPLE approach with evolution tasks that were performed by engineers of an industry partner on a product line of an Eclipse-based tool suite with six derived products. We conclude with lessons learned and limitations of our approach.
Springer