Refactoring Techniques for Improving Software Quality: Practitioners' Perspectives

被引:16
作者
Almogahed, Abdullah [1 ,2 ]
Omar, Mazni [2 ]
机构
[1] Taiz Univ, Dept Software Engn, Taizi, Yemen
[2] Univ Utara Malaysia, Sch Comp, Changlun, Malaysia
来源
JOURNAL OF INFORMATION AND COMMUNICATION TECHNOLOGY-MALAYSIA | 2021年 / 20卷 / 04期
关键词
Exploratory study; software refactoring; survey; refactoring techniques; CODE;
D O I
10.32890/jict2021.20.4.3
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Refactoring is a critical task in software maintenance and is commonly applied to improve system design or to cope with design defects. There are 68 different types of refactoring techniques and each technique has a particular purpose and effect. However, most prior studies have selected refactoring techniques based on their common use in academic research without obtaining evidence from the software industry. This is a shortcoming that points to the existence of a clear gap between academic research and the corresponding industry practices. Therefore, to bridge this gap, this study identified the most frequently used refactoring techniques, the commonly used programming language, and methods of applying refactoring techniques in the current practices of software refactoring among software practitioners in the industry, by using an online survey. The findings from the survey revealed the most used refactoring techniques, programming language, and the methods of applying the refactoring techniques. This study contributes toward the improvement of software development practices by adding empirical evidence on software refactoring used by software developers. The findings would be beneficial for researchers to develop reference models and software tools to guide the practitioners in using these refactoring techniques based on their effect on software quality attributes to improve the quality of the software systems as a whole.
引用
收藏
页码:511 / 539
页数:29
相关论文
共 45 条
[1]  
Abid C., 2020, IEEE T SOFTWARE ENG, V1, P1
[2]   Empirical Evaluation of the Impact of Object-Oriented Code Refactoring on Quality Attributes: A Systematic Literature Review [J].
Al Dallal, Jehad ;
Abdin, Anas .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2018, 44 (01) :44-69
[3]   Identifying refactoring opportunities in object-oriented code: A systematic literature review [J].
Al Dallal, Jehad .
INFORMATION AND SOFTWARE TECHNOLOGY, 2015, 58 :231-249
[4]  
Alizadeh V., 2019, PROC 33 ACMIEEE INT, P1
[5]  
Almogahed A., 2019, Int. J. Innov. Technol. Exploring Eng., V8, P439
[6]  
Almogahed A, 2018, PROCEEDINGS OF KNOWLEDGE MANAGEMENT INTERNATIONAL CONFERENCE (KMICE) 2018, P229
[7]   Test coverage of impacted code elements for detecting refactoring faults: An exploratory study [J].
Alves, Everton L. G. ;
Massoni, Tiago ;
Machado, Patricia Duarte de Lima .
JOURNAL OF SYSTEMS AND SOFTWARE, 2017, 123 :223-238
[8]  
[Anonymous], 2014, P 29 ACM IEEE INT C, DOI [10.1145/2642937.2642965. u r l, DOI 10.1145/2642937.2642965.URL]
[9]  
[Anonymous], 2012, Research Method for Business Students
[10]  
[Anonymous], 2014, P FUT SOFTW ENG FOSE, DOI DOI 10.1145/2593882.2593893