Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Software product lines: practices and patterns
Software product lines: practices and patterns
Easing the Transition to Software Mass Customization
PFE '01 Revised Papers from the 4th International Workshop on Software Product-Family Engineering
PVS: A Prototype Verification System
CADE-11 Proceedings of the 11th International Conference on Automated Deduction: Automated Deduction
Practical analysis for refactoring
Practical analysis for refactoring
Algebraic reasoning for object-oriented programming
Science of Computer Programming - Special issue on program transformation
Deriving refactorings for AspectJ
Proceedings of the 4th international conference on Aspect-oriented software development
Deriving refactorings for AspectJ
Proceedings of the 4th international conference on Aspect-oriented software development
A Case Study in Refactoring a Legacy Component for Reuse in a Product Line
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
Feature oriented refactoring of legacy applications
Proceedings of the 28th international conference on Software engineering
Feature refactoring a multi-representation program into a product line
Proceedings of the 5th international conference on Generative programming and component engineering
Proceedings of the 5th international conference on Generative programming and component engineering
Verifying feature-based model templates against well-formedness OCL constraints
Proceedings of the 5th international conference on Generative programming and component engineering
Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering
Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering
A Case Study Implementing Features Using AspectJ
SPLC '07 Proceedings of the 11th International Software Product Line Conference
Evolving software product lines with aspects: an empirical study on design stability
Proceedings of the 30th international conference on Software engineering
FLiP: Managing Software Product Line Extraction and Reaction with Aspects
SPLC '08 Proceedings of the 2008 12th International Software Product Line Conference
Reasoning about edits to feature models
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Extracting and evolving code in product lines with aspect-oriented programming
Transactions on aspect-oriented software development IV
A theory of software product line refinement
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
An introduction to software product line refactoring
GTTSE'09 Proceedings of the 3rd international summer school conference on Generative and transformational techniques in software engineering III
A theory of software product line refinement
Theoretical Computer Science
Co-evolution of models and feature mapping in software product lines
Proceedings of the 16th International Software Product Line Conference - Volume 1
Using regression testing to analyze the impact of changes to variability models on products
Proceedings of the 16th International Software Product Line Conference - Volume 1
Towards a catalog of variability evolution patterns: the Linux kernel case
FOSD '12 Proceedings of the 4th International Workshop on Feature-Oriented Software Development
Feature-oriented software evolution
Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems
Coevolution of variability models and related artifacts: a case study from the Linux kernel
Proceedings of the 17th International Software Product Line Conference
Using composite feature models to support agile software product line evolution
Proceedings of the 6th International Workshop on Models and Evolution
Extracting feature model changes from the Linux kernel using FMDiff
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
A taxonomy of software product line reengineering
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Hi-index | 0.00 |
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.