scispace - formally typeset
Proceedings ArticleDOI

Investigating the safe evolution of software product lines

Reads0
Chats0
TLDR
This paper discovers and analyzes concrete product line evolution scenarios and describes a number of safe evolution templates that developers can use when working with product lines and shows examples of their use in existing product lines.
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.

read more

Citations
More filters
BookDOI

Feature-Oriented Software Product Lines

TL;DR: Books and internet are the recommended media to help you improving your quality and performance.
Proceedings ArticleDOI

Software product line engineering and variability management: achievements and challenges

TL;DR: This research summary outlines current and future research challenges anticipated from major trends in software engineering and technology and outlines a standardized software product line framework.
Journal ArticleDOI

A bibliometric analysis of 20 years of research on software product lines

TL;DR: This paper analyzes the literature on product lines from 1995 to 2014, identifying the most influential publications, the most researched topics, and how the interest in those topics has evolved along the way.
BookDOI

Evolving Software Systems

TL;DR: Each chapter presents the state of the art in a particular topic, as well as the current research, available tool support and remaining challenges, covering a broad spectrum of software evolution topics.
Proceedings ArticleDOI

Co-evolution of models and feature mapping in software product lines

TL;DR: The main contribution of this paper is the conceptual basis of a system for the evolution of model-based SPLs, which maintains consistency of models and feature mapping.
References
More filters
Book

Refactoring: Improving the Design of Existing Code

TL;DR: Almost every expert in Object-Oriented Development stresses the importance of iterative development, but how do you add function to the existing code base while still preserving its design integrity?
ReportDOI

Feature-Oriented Domain Analysis (FODA) Feasibility Study

TL;DR: This report will establish methods for performing a domain analysis and describe the products of the domain analysis process to illustrate the application of domain analysis to a representative class of software systems.
Book

Software Product Lines: Practices and Patterns

TL;DR: The Three Essential Activities: Core Asset Development, Software Engineering Practice Areas, and Single-System Development with Reuse - All Three Together.
Book

Generative Programming: Methods, Tools, and Applications

TL;DR: This chapter discusses Domain Engineering and Object-Oriented Analysis and Design, and main development steps in Generative Programming, as well as Static versus Dynamic Parameterization, and a Fresh Look at Polymorphism.
Book

Software Product Line Engineering: Foundations, Principles and Techniques

TL;DR: In this book, Pohl and his co-authors present a framework for software product line engineering which they have developed based on their academic as well as industrial experience gained in projects over the last eight years.