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 条
[21]   On the Usability of Object-Oriented Design Patterns for a Better Software Quality [J].
Bontchev, Boyan ;
Milanova, Emanuela .
CYBERNETICS AND INFORMATION TECHNOLOGIES, 2020, 20 (04) :36-54
[22]   Using TDD for Developing Object-Oriented Software - A Case Study [J].
Goncalves, Ramon ;
Lima, Igor ;
Costa, Heitor .
2015 XLI LATIN AMERICAN COMPUTING CONFERENCE (CLEI), 2015, :656-666
[23]   Impact of Software Refactoring on Software Quality in the Industrial Environment: A Review of Empirical Studies [J].
Almogahed, Abdullah ;
Omar, Mazni ;
Zakaria, Nur Haryani .
PROCEEDINGS OF KNOWLEDGE MANAGEMENT INTERNATIONAL CONFERENCE (KMICE) 2018, 2018, :229-234
[24]   A change impact model for changeability assessment in object-oriented software systems [J].
Chaumun, MA ;
Kabaili, H ;
Keller, RK ;
Lustman, F .
PROCEEDINGS OF THE THIRD EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, 1999, :130-138
[25]   A change impact model for changeability assessment in object-oriented software systems [J].
Chaumun, MA ;
Kabaili, H ;
Keller, RK ;
Lustman, F .
SCIENCE OF COMPUTER PROGRAMMING, 2002, 45 (2-3) :155-174
[26]   ENTROPY OF SOME CK METRICS TO ASSESS OBJECT-ORIENTED SOFTWARE QUALITY [J].
Turnu, Ivana ;
Concas, Giulio ;
Marchesi, Michele ;
Tonelli, Roberto .
INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2013, 23 (02) :173-188
[27]   A method for investigating the quality of evolving object-oriented software using defects in global software development projects [J].
Jabangwe, Ronald ;
Wohlin, Claes ;
Petersen, Kai ;
Smite, Darja ;
Borstler, Jurgen .
JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2016, 28 (08) :622-641
[28]   Attributes and Metrics of Internal Quality that Impact the External Quality of Object-Oriented Software: A Systematic Literature Review [J].
Santos, Danilo ;
Resende, Antonio ;
Afonso Junior, Paulo ;
Costa, Heitor .
PROCEEDINGS OF THE 2016 XLII LATIN AMERICAN COMPUTING CONFERENCE (CLEI), 2016,
[29]   Measuring, Assessing and Improving Software Quality based on Object-Oriented Design Principles [J].
Ploesch, Reinhold ;
Braeuer, Johannes ;
Koerner, Christian ;
Saft, Matthias .
OPEN COMPUTER SCIENCE, 2016, 6 (01) :187-207
[30]   Restructuring Object-Oriented Software Systems Using Various Aspects of Class Information [J].
Prajapati, Amarjeet ;
Parashar, Anshu ;
Chhabra, Jitender Kumar .
ARABIAN JOURNAL FOR SCIENCE AND ENGINEERING, 2020, 45 (12) :10433-10457