A Systematic Reuse-Based Approach for Customized Cloned Variants

Systematic reuse often becomes possible only after a number of customized cloned variants have already been delivered. Transforming from customized cloned variants to a systematic reuse with the explicit management of variability is beneficial. Hence, industrial companies prefer to adopt a reuse-based approach. We propose in this research work an approach that supports the re-engineering of existing customized cloned variants towards systematic software reuse. The approach also eases the process of adding a new variant to a set of customized cloned variants, whenever there is enough implementation similarity between the existing customized cloned variants and the new one. We plan to evaluate our approach in an industrial case study, specifically in a set of customized cloned variants of software applications used by automotive companies. As an initial validation effort, we already have presented our first results to software developers at Bosch. They provided us a positive feedback about the ability of our approach to give an overview of the commonality and the variability of the customized cloned variant. For more robust validation, we propose to use a structured demonstration for the same industrial case study environment with qualitative and quantitive evaluation of the impact.

[1]  Jan Bosch,et al.  Trends in Systems and Software Variability , 2015, IEEE Softw..

[2]  Iris Reinhartz-Berger,et al.  Generating feature models from requirements: structural vs. functional perspectives , 2014, SPLC '14.

[3]  Vander Alves,et al.  Extracting and Evolving Mobile Games Product Lines , 2005, SPLC.

[4]  Mathieu Acher,et al.  Feature model extraction from large collections of informal product descriptions , 2013, ESEC/FSE 2013.

[5]  Jacques Klein,et al.  Automating the Extraction of Model-Based Software Product Lines from Model Variants (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[6]  Rainer Koschke,et al.  Supporting the Grow-and-Prune Model in Software Product Lines Evolution Using Clone Detection , 2008, 2008 12th European Conference on Software Maintenance and Reengineering.

[7]  Jacques Klein,et al.  Bottom-Up Technologies for Reuse: Automated Extractive Adoption of Software Product Lines , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[8]  Marco Tulio Valente,et al.  Extracting Software Product Lines: A Case Study Using Conditional Compilation , 2011, 2011 15th European Conference on Software Maintenance and Reengineering.

[9]  Juan Eduardo Durán,et al.  Automatic generation of feature models from UML requirement models , 2012, SPLC '12.

[10]  Lucas Garcia,et al.  SPLConfig : Product Configuration in Software Product Line , 2014 .

[11]  Abdelhak-Djamel Seriai,et al.  Feature Location in a Collection of Software Product Variants Using Formal Concept Analysis , 2013, ICSR.

[12]  João Baptista da Silva Araújo Júnior Generating feature model from creative requirements using model driven design , 2012, SPLC 2012.

[13]  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.

[14]  Hassan Gomaa,et al.  Modeling variability in software product lines with the variation point model , 2004, Sci. Comput. Program..

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

[16]  Martin Becker,et al.  Code-based variability model extraction for software product line improvement , 2012, SPLC '12.

[17]  Hazeline U. Asuncion,et al.  Mapping Features to Source Code through Product Line Architecture: Traceability and Conformance , 2017, 2017 IEEE International Conference on Software Architecture (ICSA).

[18]  Martin Becker,et al.  Variability mechanisms and lessons learned in practice , 2016, VACE@ICSE.

[19]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[20]  Zarinah Mohd Kasirun,et al.  Feature extraction approaches from natural language requirements for reuse in software product lines: A systematic literature review , 2015, J. Syst. Softw..

[21]  Zhenchang Xing,et al.  Feature Location in a Collection of Product Variants , 2012, 2012 19th Working Conference on Reverse Engineering.

[22]  Mathieu Acher,et al.  On extracting feature models from product descriptions , 2012, VaMoS.

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

[24]  Slawomir Duszynski Analyzing similarity of cloned software variants using hierarchical set models , 2015 .

[25]  Krzysztof Czarnecki,et al.  Cool features and tough decisions: a comparison of variability modeling approaches , 2012, VaMoS.

[26]  George Valença,et al.  Accepted Manuscript Requirements Engineering for Software Product Lines: a Systematic Literature Review Accepted Manuscript Requirements Engineering for Software Product Lines: a Systematic Literature Review Accepted Manuscript , 2022 .

[27]  Gunter Saake,et al.  Variant-preserving refactorings for migrating cloned products to a product line , 2017, 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[28]  Benjamin Klatt,et al.  Consolidation of Customized Product Copies into Software Product Lines , 2016 .