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
Abstract—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.
Keywords— cloning, 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, 8–11].
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