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

Full description

Bibliographic Details
Main Authors: Abdullah Almogahed, Mazni Omar
Format: Article
Language:English
Published: UUM Press 2021-09-01
Series:Journal of ICT
Subjects:
Online Access:http://e-journal.uum.edu.my/index.php/jict/article/view/jict2021.20.4.3
id doaj-a8e9cb47bb5a47a7af1c339b396b0c46
record_format Article
spelling doaj-a8e9cb47bb5a47a7af1c339b396b0c462021-10-04T04:05:08ZengUUM PressJournal of ICT1675-414X2180-38622021-09-0120451153910.32890/jict2021.20.4.3Refactoring Techniques for Improving Software Quality: Practitioners’ PerspectivesAbdullah Almogahed0Mazni Omar1Department of Software Engineering, Taiz University, YemenSchool of Computing, Universiti Utara Malaysia, MalaysiaRefactoring 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. http://e-journal.uum.edu.my/index.php/jict/article/view/jict2021.20.4.3exploratory studysoftware refactoringsurveyrefactoring techniques
collection DOAJ
language English
format Article
sources DOAJ
author Abdullah Almogahed
Mazni Omar
spellingShingle Abdullah Almogahed
Mazni Omar
Refactoring Techniques for Improving Software Quality: Practitioners’ Perspectives
Journal of ICT
exploratory study
software refactoring
survey
refactoring techniques
author_facet Abdullah Almogahed
Mazni Omar
author_sort Abdullah Almogahed
title Refactoring Techniques for Improving Software Quality: Practitioners’ Perspectives
title_short Refactoring Techniques for Improving Software Quality: Practitioners’ Perspectives
title_full Refactoring Techniques for Improving Software Quality: Practitioners’ Perspectives
title_fullStr Refactoring Techniques for Improving Software Quality: Practitioners’ Perspectives
title_full_unstemmed Refactoring Techniques for Improving Software Quality: Practitioners’ Perspectives
title_sort refactoring techniques for improving software quality: practitioners’ perspectives
publisher UUM Press
series Journal of ICT
issn 1675-414X
2180-3862
publishDate 2021-09-01
description 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.
topic exploratory study
software refactoring
survey
refactoring techniques
url http://e-journal.uum.edu.my/index.php/jict/article/view/jict2021.20.4.3
work_keys_str_mv AT abdullahalmogahed refactoringtechniquesforimprovingsoftwarequalitypractitionersperspectives
AT mazniomar refactoringtechniquesforimprovingsoftwarequalitypractitionersperspectives
_version_ 1716844455694172160