Empirical Evaluation of the Impact of Object-Oriented Code Refactoring on Quality Attributes: A Systematic Literature Review

被引:59
作者
Al Dallal, Jehad [1 ]
Abdin, Anas [1 ]
机构
[1] Kuwait Univ, Dept Informat Sci, POB 5969, Safat 13060, Kuwait
关键词
quality attribute; quality measure; refactoring scenario; systematic literature review; SOFTWARE; OPPORTUNITIES; IDENTIFICATION; AGREEMENT; METRICS; MODEL;
D O I
10.1109/TSE.2017.2658573
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Software refactoring is a maintenance task that addresses code restructuring to improve its quality. Many studies have addressed the impact of different refactoring scenarios on software quality. This study presents a systematic literature review that aggregates, summarizes, and discusses the results of 76 relevant primary studies (PSs) concerning the impact of refactoring on several internal and external quality attributes. The included PSs were selected using inclusion and exclusion criteria applied to relevant articles published before the end of 2015. We analyzed the PSs based on a set of classification criteria, including software quality attributes and measures, refactoring scenarios, evaluation approaches, datasets, and impact results. We followed the vote-counting approach to determine the level of consistency among the PS reported results concerning the relationship between refactoring and software quality. The results indicated that different refactoring scenarios sometimes have opposite impacts on different quality attributes. Therefore, it is false that refactoring always improves all software quality aspects. The vote-counting study provided a clear view of the impacts of some individual refactoring scenarios on some internal quality attributes such as cohesion, coupling, complexity, inheritance, and size, but failed to identify their impacts on external and other internal quality attributes due to insufficient findings.
引用
收藏
页码:44 / 69
页数:26
相关论文
共 98 条
[1]   An Empirical Study of the Impact of Two Antipatterns, Blob and Spaghetti Code, On Program Comprehension [J].
Abbes, Marwen ;
Khomh, Foutse ;
Gueheneuc, Yann-Gael ;
Antoniol, Giuliano .
2011 15TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR), 2011, :181-190
[2]  
Ah-Rim Han, 2014, 2014 21st Asia-Pacific Software Engineering Conference (APSEC), P430, DOI 10.1109/APSEC.2014.69
[3]   Qualitative analysis for the impact of accounting for special methods in object-oriented class cohesion measurement [J].
al Dallal, Jehad .
Journal of Software, 2013, 8 (02) :327-336
[4]   Identifying refactoring opportunities in object-oriented code: A systematic literature review [J].
Al Dallal, Jehad .
INFORMATION AND SOFTWARE TECHNOLOGY, 2015, 58 :231-249
[5]   Constructing models for predicting extract subclass refactoring opportunities using object-oriented quality metrics [J].
Al Dallal, Jehad .
INFORMATION AND SOFTWARE TECHNOLOGY, 2012, 54 (10) :1125-1141
[6]   A systematic review of comparative evidence of aspect-oriented programming [J].
Ali, Muhammad Sarmad ;
Babar, Muhammad Ali ;
Chen, Lianping ;
Stol, Klaas-Jan .
INFORMATION AND SOFTWARE TECHNOLOGY, 2010, 52 (09) :871-887
[8]   Refactoring Effect on Cohesion Metrics [J].
Alshayeb, Mohammad .
PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMPUTING, ENGINEERING AND INFORMATION, 2009, :3-7
[9]   Empirical investigation of refactoring effect on software quality [J].
Alshayeb, Mohammad .
INFORMATION AND SOFTWARE TECHNOLOGY, 2009, 51 (09) :1319-1326
[10]  
[Anonymous], 2007, GUIDELINES PERFORMIN