A Review on Software Refactoring Opportunity Identification and Sequencing in Object-oriented Software

被引:4
作者
Kaur, Satnam [1 ]
Awasthi, Lalit K. [1 ]
Sangal, Amrit L. [1 ]
机构
[1] Dr BR Ambedkar Natl Inst Technol, Dept Comp Sci & Engn, Jalandhar, Punjab, India
关键词
Software refactoring; refactoring opportunity identification; refactoring sequencing; software quality; optimization algorithms; metaheuristic approaches; SPOTTED HYENA OPTIMIZER; MULTIOBJECTIVE OPTIMIZATION; CODE-SMELLS; ALGORITHM;
D O I
10.2174/2352096513999200704140718
中图分类号
TM [电工技术]; TN [电子技术、通信技术];
学科分类号
0808 ; 0809 ;
摘要
Background: Owing to the benefits of software refactoring, the software industry started adopting this practice in the maintenance phase as a means to improve developer's productivity and software quality. As a result, proposing new techniques for refactoring opportunity identification and sequencing has become the key area of interest for academicians and industry researchers. Objective: This paper aims to perform a review of such existing approaches which are related to software refactoring opportunity identification and sequencing. Methods: We discussed the background concepts of code smells and refactoring and provided their corresponding taxonomies. Moreover, comprehensive literature of several techniques that automatically or semi-automatically identify or prioritize the refactoring opportunities is presented along with considered refactoring activities, optimization algorithms, bad smells, datasets and underlying evaluation approaches. Results: The research in the direction of refactoring opportunity identification and sequencing is highly active and is generally performed by academic researchers. Most of the techniques address Move Method and Extract Class refactoring activities in Java datasets. Conclusion: This paper highlights various open challenges that need further investigation, including lack of dynamic analysis-based approaches, lesser utilization of industrial datasets, nonconsideration of recent optimization algorithms, etc.
引用
收藏
页码:252 / 267
页数:16
相关论文
共 50 条
[31]   Relationship between Personality Traits and Software Quality Big Five Model vs. Object-oriented Software Metrics [J].
Barroso, Anderson S. ;
Madureira da Silva, Jamille S. ;
Souza, Thiago D. S. ;
Cezario, Bryanne S. de A. ;
Soares, Michel S. ;
do Nascimento, Rogerio P. C. .
ICEIS: PROCEEDINGS OF THE 19TH INTERNATIONAL CONFERENCE ON ENTERPRISE INFORMATION SYSTEMS - VOL 3, 2017, :63-74
[32]   A Case Study in Object-oriented Patterns Identified During Manual Refactoring [J].
Dillon, Brian S. .
2016 IEEE/ACIS 14TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING RESEARCH, MANAGEMENT AND APPLICATIONS (SERA), 2016, :91-98
[33]   Optimized Refactoring Mechanisms to Improve Quality Characteristics in Object-Oriented Systems [J].
Almogahed, Abdullah ;
Mahdin, Hairulnizam ;
Omar, Mazni ;
Zakaria, Nur Haryani ;
Muhammad, Ghulam ;
Ali, Zulfiqar .
IEEE ACCESS, 2023, 11 :99143-99158
[34]   A Brief Review on Multi-objective Software Refactoring and a New Method for Its Recommendation [J].
Kaur, Satnam ;
Awasthi, Lalit K. ;
Sangal, A. L. .
ARCHIVES OF COMPUTATIONAL METHODS IN ENGINEERING, 2021, 28 (04) :3087-3111
[35]   A Brief Review on Multi-objective Software Refactoring and a New Method for Its Recommendation [J].
Satnam Kaur ;
Lalit K. Awasthi ;
A. L. Sangal .
Archives of Computational Methods in Engineering, 2021, 28 :3087-3111
[36]   Exploiting bad-smells and object-oriented characteristics to prioritize classes for refactoring [J].
Malhotra, Ruchika ;
Singh, Priya .
INTERNATIONAL JOURNAL OF SYSTEM ASSURANCE ENGINEERING AND MANAGEMENT, 2020, 11 (SUPPL 2) :133-144
[37]   Exploiting bad-smells and object-oriented characteristics to prioritize classes for refactoring [J].
Ruchika Malhotra ;
Priya Singh .
International Journal of System Assurance Engineering and Management, 2020, 11 :133-144
[38]   Visualization of object-oriented software in a city metaphor: Comprehending the implemented variability and its technical debt [J].
Mortara, Johann ;
Collet, Philippe ;
Dery-Pinna, Anne -Marie .
JOURNAL OF SYSTEMS AND SOFTWARE, 2024, 208
[39]   Class structure refactoring of object-oriented softwares using community detection in dependency networks [J].
Pan, Weifeng ;
Li, Bing ;
Ma, Yutao ;
Liu, Jing ;
Qin, Yeyi .
FRONTIERS OF COMPUTER SCIENCE IN CHINA, 2009, 3 (03) :396-404
[40]   Class structure refactoring of object-oriented softwares using community detection in dependency networks [J].
Weifeng Pan ;
Bing Li ;
Yutao Ma ;
Jing Liu ;
Yeyi Qin .
Frontiers of Computer Science in China, 2009, 3 :396-404