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

Täydet tiedot

Bibliografiset tiedot
Päätekijät: Almogahed, Abdullah, Omar, Mazni
Aineistotyyppi: Artikkeli
Kieli:English
Julkaistu: Universiti Utara Malaysia Press 2021
Aiheet:
Linkit: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
_version_ 1825805858339028992
author Almogahed, Abdullah
Omar, Mazni
author_facet Almogahed, Abdullah
Omar, Mazni
author_sort Almogahed, Abdullah
collection UUM
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.
first_indexed 2024-07-04T06:39:06Z
format Article
id uum-28760
institution Universiti Utara Malaysia
language English
last_indexed 2024-07-04T06:39:06Z
publishDate 2021
publisher Universiti Utara Malaysia Press
record_format eprints
spelling uum-287602023-05-17T15:10:02Z https://repo.uum.edu.my/id/eprint/28760/ Refactoring Techniques for Improving Software Quality: Practitioners’ Perspectives Almogahed, Abdullah Omar, Mazni QA76 Computer software 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. Universiti Utara Malaysia Press 2021 Article PeerReviewed application/pdf en cc4_by https://repo.uum.edu.my/id/eprint/28760/1/JICT%2020%2004%202021%20511-539.pdf Almogahed, Abdullah and Omar, Mazni (2021) Refactoring Techniques for Improving Software Quality: Practitioners’ Perspectives. Journal of Information and Communication Technology, 20 (04). pp. 511-539. ISSN 2180-3862 https://e-journal.uum.edu.my/index.php/jict/article/view/13867 https://doi.org/10.32890/jict2021.20.4.3 https://doi.org/10.32890/jict2021.20.4.3
spellingShingle QA76 Computer software
Almogahed, Abdullah
Omar, Mazni
Refactoring Techniques for Improving Software Quality: Practitioners’ Perspectives
title 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_short Refactoring Techniques for Improving Software Quality: Practitioners’ Perspectives
title_sort refactoring techniques for improving software quality practitioners perspectives
topic QA76 Computer software
url 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
work_keys_str_mv AT almogahedabdullah refactoringtechniquesforimprovingsoftwarequalitypractitionersperspectives
AT omarmazni refactoringtechniquesforimprovingsoftwarequalitypractitionersperspectives