A Systematic Reuse-based Approach for Customized Cloned Variants Karam Ignaim, João M. Fernandes Dep. Informatics, Universidade do Minho Braga, Portugal {e6870@alunos, jmf@di}.uminho.pt, André L. Ferreira, Jana Seidel Bosch Car Multimedia Portugal Braga, Portugal {Andre.Ferreira2@pt, Jana.Seidel@de}.bosch.com AbstractSystematic 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. Keywordscloning, systematic reuse, variant, variability, commonality, Feature Model I. INTRODUCTION Some companies need to handle customized variants that have some characteristics in common [1]. Generally, companies apply an approach called cloning, in which a new customized cloned variant is built by copying and adapting existing customized cloned variants [2, 3]. Cloning requires no major upfront investments and is natural, which makes it common for industrial use [2]. Unfortunately, cloning does not favor reuse. The developing organization faces a choice between building reuse-based systems from scratch or transforming the existing customized cloned variants into a systematic reusable form [2, 4, 5]. A systematic reuse-based approach can be introduced, but it requires explicit information about commonality and variability over the customized cloned variants [4, 6, 7]. Moreover, it needs a mapping between features and artifacts (e.g. requirement document or code base) into customized cloned variants [3, 811]. Feature Models (FMs) are one of the most popular abstraction forms for modeling commonality and variability of customized cloned variants [9, 12]. FMs are used broadly to help generate and validate individual variant configurations (Fig. 1) and to provide support for domain analysis [9, 10]. However, a successful transformation is challenging, since it requires precise and detailed information about the distribution of implementation similarity and difference between the product variants. This information is usually not available, as the product variants were modified independently of each other [4]. Our approach organizes the discovered variability in a design model, which is called Variability Design Model (VDM). This model is a design that expresses variations between customized variants. The purpose of our approach is to support systematic reuse for a set of customized cloned variants by delivering detailed similarities and differences among them. For that purpose, we study customized variants related to the sensor-based software product family, these variants are cloned and customized by the developers at Bosch company. Our research contributes to the work related to the systematic reuse of a customized cloned variant, by providing the following characteristics: x A feature-based design for a set of customized cloned variants at requirement and design level. x A difference analysis specific for requirement level of customized cloned variants. x An approach to identify commonality and variability among customized cloned variants. x A novel mapping method to trace features to their place in the implementation code through requirements specification of customized cloned variants. The contributions of our approach are reflected in the research questions, shown in Table I. In an industrial case study, we asked the participating developers to assess the impact/influence of the models and information produced by our approach on the available set of customized cloned variants. The feedback has shown that our approach was appreciated as an explicit way to express variability and to go through a systematic reuse of variants family. II. STATE OF THE ARTE In this section, we summarize the state of the art of the field addressed by our research. Thus, we review some of the previous methods, techniques, and tools that tackle the problem of systematic reuse. Systematic reuse often takes place only 287 2018 International Conference on the Quality of Information and Communications Technology 978-1-5386-5841-3/18/$31.00 ©2018 IEEE DOI 10.1109/QUATIC.2018.00051