Change-oriented version descriptions in EPOS
Software Engineering Journal
Unified versioning through feature logic
ACM Transactions on Software Engineering and Methodology (TOSEM)
Coven: brewing better collaboration through software configuration management
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Software product lines: practices and patterns
Software product lines: practices and patterns
Feature Interaction and Dependencies: Modeling Features for Reengineering a Legacy Product Line
SPLC 2 Proceedings of the Second International Conference on Software Product Lines
High-Level Best Practices in Software Configuration Management
ECOOP '98 Proceedings of the SCM-8 Symposium on System Configuration Management
Easing the Transition to Software Mass Customization
PFE '01 Revised Papers from the 4th International Workshop on Software Product-Family Engineering
Palantír: raising awareness among configuration management workspaces
Proceedings of the 25th International Conference on Software Engineering
Experiences Adopting Software Product Line Development without a Product Line Architecture
APSEC '04 Proceedings of the 11th Asia-Pacific Software Engineering Conference
Software Product Line Engineering: Foundations, Principles and Techniques
Software Product Line Engineering: Foundations, Principles and Techniques
Refactoring a legacy component for reuse in a software product line: a case study: Practice Articles
Journal of Software Maintenance and Evolution: Research and Practice - IEEE International Conference on Software Maintenance (ICSM2005)
FAVE: factor analysis based approach for detecting product line variability from change history
Proceedings of the 2008 international working conference on Mining software repositories
Software Configuration Management for Product Derivation in Software Product Families
ECBS '08 Proceedings of the 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems
An evaluation of code similarity identification for the grow-and-prune model
Journal of Software Maintenance and Evolution: Research and Practice - Special Issue on the 12th Conference on Software Maintenance and Reengineering (CSMR 2008)
Clone-Aware Configuration Management
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
Syde: a tool for collaborative software development
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Delta-oriented programming of software product lines
SPLC'10 Proceedings of the 14th international conference on Software product lines: going beyond
Non-essential changes in version histories
Proceedings of the 33rd International Conference on Software Engineering
Reverse engineering feature models
Proceedings of the 33rd International Conference on Software Engineering
Transforming Legacy Systems into Software Product Lines
SPLC '11 Proceedings of the 2011 15th International Software Product Line Conference
Locating distinguishing features using diff sets
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Proceedings of the 9th International Symposium on Open Collaboration
Extraction of product evolution tree from source code of product variants
Proceedings of the 17th International Software Product Line Conference
Managing cloned variants: a framework and experience
Proceedings of the 17th International Software Product Line Conference
A taxonomy of software product line reengineering
Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems
Hi-index | 0.00 |
We consider the problem of supporting effective code reuse as part of Software Product Line Engineering. Our approach is based on code forking -- a practice commonly used in industry where new products are created by cloning the existing ones. We propose to maintain meta-information allowing organization to reason about the developed product line in terms of features rather than incremental code changes made in different forks and to detect inconsistencies in implementations of these features. In addition, we propose to detect and maintain semantic, implementation-level require relationships between features, supporting the developers when they copy features from different branches or delete features in their own branch, thus facilitating reuse of features between products. Our approach aims at mitigating the disadvantages of the forking mechanism while leveraging its advantages. We illustrate the approach on an example, and discuss its possible implementation and integration with Software Configuration Management systems.