Leveraging Feature Location to Extract the Clone-and-Own Relationships of a Family of Software Products
Abstract
Feature location is concerned with identifying software artifacts associated with a program functionality (features). This paper presents a novel approach that combines feature location at the model level with code comparison at the code level to extract Clone-and-Own Relationships from a family of software products. The aim of our work is to understand the different Clone-and-Own Relationships and to take advantage of them in order to improve the way features are reused. We have evaluated our work by applying our approach to two families of software products of industrial dimensions. The code of one of the families is implemented manually by software engineers from the models that specify the software, while the code of the other family is implemented automatically by a code generation tool. The results show that our approach is able to extract relationships between features such as Reimplemented, Modificated, Adapted, Unaltered, and Ghost Features, thus providing insight into understanding the Clone-and-Own relationships of a family of software products. Furthermore, we suggest how to use these relationships to improve the way features are reused.
Acknowledgements
- VARIAMOS: Ministry of Economy and Competitiveness (MINECO) through the Spanish National R+D+i Plan and ERDF (FEDER) funds under the project (Model-Driven Variability Extraction for Software Product Line Adoption) under Grant TIN2015-64397-R
