Towards clone-and-own support: locating relevant methods in legacy products
Abstract
Clone-and-Own (CAO) is a common practice in families of software products consisting of reusing code from methods in legacy products in new developments. In industrial scenarios, CAO consumes high amounts of time and effort without guaranteeing good results. We propose a novel approach, Computer Assisted CAO (CACAO), that given the natural language requirements of a new product, and the legacy products from that family, ranks the legacy methods in the family for each of the new product requirements according to their relevancy to the new development. We evaluated our approach in the industrial domain of train control software. Without CACAO, software engineers tasked with the development of a new product had to manually review a total of 2200 methods in the family. Results show that CACAO can reduce the number of methods to be reviewed, and guide software engineers towards the identification of relevant legacy methods to be reused in the new product.
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
