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...
Päätekijät: | , |
---|---|
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 |