Refactoring Techniques for Improving Software Quality: Practitioners’ Perspectives

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...

全面介紹

Saved in:
書目詳細資料
Main Authors: Almogahed, Abdullah, Omar, Mazni
格式: Article
語言:English
出版: Universiti Utara Malaysia Press 2021
主題:
在線閱讀:https://repo.uum.edu.my/id/eprint/28760/1/JICT%2020%2004%202021%20511-539.pdf
https://doi.org/10.32890/jict2021.20.4.3
https://repo.uum.edu.my/id/eprint/28760/
https://e-journal.uum.edu.my/index.php/jict/article/view/13867
https://doi.org/10.32890/jict2021.20.4.3
標簽: 添加標簽
沒有標簽, 成為第一個標記此記錄!
實物特徵
總結: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.