ACM SIGPLAN Notices · 2011 · 12 citations · 10 references
ComputingDesignFeature EngineeringNew Product DevelopmentSoftware EngineeringProduct DevelopmentSoftware DesignSoftware EvolutionSoftware MaintenanceSoftware ModelingFeature ModelsProductivitySoftware Evolution AnalysisSoftware Product Line ArchitectureSoftware Product Lines
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.
10
Reasoning about edits to feature models
Thomas Thüm, Don Batory, Christian Kästner · 2009 · 363 citations
Evolving software product lines with aspects
Eduardo Figueiredo, Nélio Cacho, Cláudio Sant’Anna et al. · 2008 · 335 citations
Feature oriented refactoring of legacy applications
Jia Liu, Don Batory, Christian Lengauer · 2006 · 256 citations
Vander Alves, Rohit Gheyi, Tiago Massoni et al. · 2006 · 190 citations