A Brief Review on Multi-objective Software Refactoring and a New Method for Its Recommendation

被引:0
作者
Satnam Kaur
Lalit K. Awasthi
A. L. Sangal
机构
[1] Dr B R Ambedkar National Institute of Technology,Department of Computer Science and Engineering
来源
Archives of Computational Methods in Engineering | 2021年 / 28卷
关键词
Search-based software engineering; Code smell; Software refactoring; Multi-objective optimization; MOSHO algorithm; Software quality;
D O I
暂无
中图分类号
学科分类号
摘要
Software refactoring is a commonly accepted means of improving the software quality without affecting its observable behaviour. It has gained significant attention from both academia and software industry. Therefore, numerous approaches have been proposed to automate refactoring that consider software quality maximization as their prime objective. However, this objective is not enough to generate good and efficient refactoring sequences as refactoring also involves several other uncertainties related to smell severity, history of applied refactoring activities and class severity. To address these concerns, we propose a multi-objective optimization technique to generate refactoring solutions that maximize the (1) software quality, (2) use of smell severity and (3) consistency with class importance. To this end, we provide a brief review on multi-objective search-based software refactoring and use a multi-objective spotted hyena optimizer (MOSHO) to obtain the best compromise between these three objectives. The proposed approach is evaluated on five open source datasets and its performance is compared with five different well-known state-of-the-art meta-heuristic and non-meta-heuristic approaches. The experimental results exhibit that the refactoring solutions provided by MOSHO are significantly better than other algorithms when class importance and code smell severity scores are used.
引用
收藏
页码:3087 / 3111
页数:24
相关论文
共 104 条
[1]  
Dehaghani SMH(2013)Which factors affect software projects maintenance cost more? Acta Inform Med 21 63-361
[2]  
Hajrahimi N(2015)Prioritizing code-smells correction tasks using chemical reaction optimization Softw Qual J 23 323-516
[3]  
Ouni A(2008)Search-based refactoring for software maintenance J Syst Softw 81 502-79
[4]  
Kessentini M(2013)Maintainability defects detection and correction: a multi-objective approach Autom Softw Eng 20 47-39
[5]  
Bechikh S(2015)Improving multi-objective code-smells correction using development history J Syst Softw 105 18-5
[6]  
Sahraoui H(2012)Automatic detection of bad smells in code: an experimental assessment J Object Technol 11 1-139
[7]  
O’Keeffe M(2004)A survey of software refactoring IEEE Trans Softw Eng 30 126-985
[8]  
Cinnéide MO(2013)Dynamic profiling-based approach to identifying cost-effective refactorings Inf Softw Technol 55 966-49
[9]  
Ouni A(2019)How does object-oriented code refactoring influence software quality? Research landscape and challenges J Syst Softw 157 110394-119
[10]  
Kessentini M(2011)Multiobjective evolutionary algorithms: a survey of the state of the art Swarm Evolut Comput 1 32-197