Context: Software refactoring aims to improve software quality and developer productivity. Numerous empirical studies investigating the impact of refactoring activities on software quality have been conducted over the last two decades.Objective: This study aims to perform a comprehensive systematic mapping study of existing empirical studies on evaluation of the effect of object-oriented code refactoring activities on software quality attributes.
Method:We followed a multi-stage scrutinizing process to select 142 primary studies published till December 2017. The selected primary studies were further classified based on several aspects to answer the research questions defined for this work. In addition, we applied vote-counting approach to combine the empirical results and their analysis reported in primary studies.
Results:The findings indicate that studies conducted in academic settings found more positive impact of refactoring on software quality than studies performed in industries. In general, refactoring activities caused all quality attributes to improve or degrade except for cohesion, complexity, inheritance, fault-proneness and power consumption attributes. Furthermore, individual refactoring activities have variable effects on most quality attributes explored in primary studies, indicating that refactoring does not always improve all quality attributes.
Conclusions:This study points out several open issues which require further investigation, e.g., lack of industrial validation, lesser coverage of refactoring activities, limited tool support, etc.Keywords: Software quality, object-oriented software, refactoring activity, quality measures, systematic mapping study.© 2019. This manuscript version is made available under the CC-BY-NC-ND 4.0 License http://creativecommons.org/licenses/by-nc-nd/4.0/ 1. Various industry practitioners are oblivious to the impact of refactoring activities on software quality.Consequently, while performing any refactoring activity, they feel reluctant as they believe refactoring may either break the code or result in the wastage of resources [16][17]. Their concerns can be attributed to the scarcity of appropriate sources that discuss state-of-the-art of software refactoring process and its benefits in a lucid manner. Hence, this paper reports an in-depth systematic mapping study (SMS) to analyse, synthesize and present the empirical findings related to the effect of refactoring activities targeting code smells on software quality. Awareness about the effect of planned refactoring changes on software quality will boost the confidence of developers in exercising software refactoring as regular development practice. 2. Retrospectively, it is observed that so far there have been only four literature surveys covering the relationship between refactoring and software quality. Among them, three [18][19][20] partially and one comprehensively (Dallal and Abdin; published in 2017 covering the literature till 2015) [21] explored the impact of refactoring activities on object-oriented softw...