A Variability Aware Configuration Management and Revision Control Platform

Modern systems need to run in many different contexts like hardware and software platforms or environmental conditions. Additionally different customers might have slightly different requirements towards systems. Therefore software systems need to be highly configurable and provide variable sets of features for different customers. There are various approaches to developing and managing such systems, like ad-hoc clone-and-own approaches or structured software product line approaches for each of which again several different techniques and tools exist to support them. While the different approaches come with advantages they also have several disadvantages and shortcomings. Some work only with specific implementation artifacts (e.g. source code but not models) and others exist only as plugins for specific IDEs which makes them intrusive or even unusable in some development environments. In our work we present a development process and tools for managing and engineering of highly configurable and variable systems that is generic, incremental, flexible and intuitive. We evaluated our approach on several case study systems from various different domains and origins like open source, academia or industry. The results so far showed promising results.

[1]  Jacques Klein,et al.  Bottom-up adoption of software product lines: a generic and extensible approach , 2015, SPLC.

[2]  Marsha Chechik,et al.  A Survey of Feature Location Techniques , 2013, Domain Engineering, Product Lines, Languages, and Conceptual Models.

[3]  Oscar Díaz,et al.  Tuning GitHub for SPL development: branching models & repository operations for product engineers , 2015, SPLC.

[4]  Alexander Egyed,et al.  Enhancing Clone-and-Own with Systematic Reuse for Developing Software Variants , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[5]  Alexander Egyed,et al.  Recovering Feature-to-Code Mappings in Mixed-Variability Software Systems , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[6]  Thomas Leich,et al.  FeatureIDE: An extensible framework for feature-oriented software development , 2014, Sci. Comput. Program..

[7]  References , 1971 .

[8]  Alexander Egyed,et al.  Recovering traceability between features and code in product variants , 2013, SPLC '13.

[9]  Marsha Chechik,et al.  Managing cloned variants: a framework and experience , 2013, SPLC '13.

[10]  Alexander Egyed,et al.  Using Traceability for Incremental Construction and Evolution of Software Product Portfolios , 2015, 2015 IEEE/ACM 8th International Symposium on Software and Systems Traceability.

[11]  Marvin A. Carlson Editor , 2015 .

[12]  Krzysztof Czarnecki,et al.  An Exploratory Study of Cloning in Industrial Software Product Lines , 2013, 2013 17th European Conference on Software Maintenance and Reengineering.

[13]  Alexander Egyed,et al.  The ECCO Tool: Extraction and Composition for Clone-and-Own , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.