Visualizing software refactoring using radar charts
Abstract Refactoring tools have advanced greatly and are being used in many large projects. As a result, a great deal of information is now available about past refactoring and its effects on the source code. However, when multiple refactoring is performed at once, it becomes more difficult to analy...
Main Authors: | , , , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Nature Portfolio
2023-11-01
|
Series: | Scientific Reports |
Online Access: | https://doi.org/10.1038/s41598-023-44281-6 |
_version_ | 1797630295959142400 |
---|---|
author | Abdel-Rahman Al-Ghuwairi Dimah Al-Fraihat Yousef Sharrab Huda Alrashidi Nouf Almujally Ahmed Kittaneh Ahmed Ali |
author_facet | Abdel-Rahman Al-Ghuwairi Dimah Al-Fraihat Yousef Sharrab Huda Alrashidi Nouf Almujally Ahmed Kittaneh Ahmed Ali |
author_sort | Abdel-Rahman Al-Ghuwairi |
collection | DOAJ |
description | Abstract Refactoring tools have advanced greatly and are being used in many large projects. As a result, a great deal of information is now available about past refactoring and its effects on the source code. However, when multiple refactoring is performed at once, it becomes more difficult to analyze their impact. Refactoring visualization can help developers create more maintainable code that is easier to understand and modify over time. Although there is an increasing interest in visualizing code changes in software engineering research, there has been relatively little research on visualizing the process of refactoring. In this paper, we propose a Radar Chart Refactoring Visualization (RcRV) approach to visualize software refactoring of source code across multiple software releases. Radar charts are a form of 2D visualization that can show multiple variables on a single chart. The RcRv receives input from developers or through refactoring identification tools, such as Ref-Finder, to generate charts. The generated charts can show the changes made during the refactoring process, highlighting areas of the trend of refactoring over evolution for multiple refactoring, multiple methods, and multiple classes. The evaluation study conducted to assess the usefulness of the RcRV tool has shown that the proposed tool is useful to developers, appealing, and easy to use. The proposed method of visualization can be beneficial for developers and maintainers to detect design violations and potential bugs in the code, thus saving time and effort during the development and maintenance process. Therefore, this research presents a significant contribution to the software engineering field by providing developers with an efficient tool to enhance code quality and maintainability. |
first_indexed | 2024-03-11T11:05:10Z |
format | Article |
id | doaj.art-37e3587e020d4b0db8b40e1bafad3bbc |
institution | Directory Open Access Journal |
issn | 2045-2322 |
language | English |
last_indexed | 2024-03-11T11:05:10Z |
publishDate | 2023-11-01 |
publisher | Nature Portfolio |
record_format | Article |
series | Scientific Reports |
spelling | doaj.art-37e3587e020d4b0db8b40e1bafad3bbc2023-11-12T12:13:17ZengNature PortfolioScientific Reports2045-23222023-11-0113111710.1038/s41598-023-44281-6Visualizing software refactoring using radar chartsAbdel-Rahman Al-Ghuwairi0Dimah Al-Fraihat1Yousef Sharrab2Huda Alrashidi3Nouf Almujally4Ahmed Kittaneh5Ahmed Ali6Department of Software Engineering, Faculty of Prince Al-Hussien Bin Abdallah II for Information Technology, The Hashemite UniversityDepartment of Software Engineering, Faculty of Information Technology, Isra UniversityDepartment of Data Science and Artificial Intelligence, Faculty of Information Technology, Isra UniversityFaculty of Information Technology and Computing, Arab Open UniversityDepartment of Information Systems, College of Computer and Information Sciences, Princess Nourah Bint Abdulrahman UniversityDepartment of Software Engineering, Faculty of Prince Al-Hussien Bin Abdallah II for Information Technology, The Hashemite UniversityDepartment of Software Engineering, Faculty of Prince Al-Hussien Bin Abdallah II for Information Technology, The Hashemite UniversityAbstract Refactoring tools have advanced greatly and are being used in many large projects. As a result, a great deal of information is now available about past refactoring and its effects on the source code. However, when multiple refactoring is performed at once, it becomes more difficult to analyze their impact. Refactoring visualization can help developers create more maintainable code that is easier to understand and modify over time. Although there is an increasing interest in visualizing code changes in software engineering research, there has been relatively little research on visualizing the process of refactoring. In this paper, we propose a Radar Chart Refactoring Visualization (RcRV) approach to visualize software refactoring of source code across multiple software releases. Radar charts are a form of 2D visualization that can show multiple variables on a single chart. The RcRv receives input from developers or through refactoring identification tools, such as Ref-Finder, to generate charts. The generated charts can show the changes made during the refactoring process, highlighting areas of the trend of refactoring over evolution for multiple refactoring, multiple methods, and multiple classes. The evaluation study conducted to assess the usefulness of the RcRV tool has shown that the proposed tool is useful to developers, appealing, and easy to use. The proposed method of visualization can be beneficial for developers and maintainers to detect design violations and potential bugs in the code, thus saving time and effort during the development and maintenance process. Therefore, this research presents a significant contribution to the software engineering field by providing developers with an efficient tool to enhance code quality and maintainability.https://doi.org/10.1038/s41598-023-44281-6 |
spellingShingle | Abdel-Rahman Al-Ghuwairi Dimah Al-Fraihat Yousef Sharrab Huda Alrashidi Nouf Almujally Ahmed Kittaneh Ahmed Ali Visualizing software refactoring using radar charts Scientific Reports |
title | Visualizing software refactoring using radar charts |
title_full | Visualizing software refactoring using radar charts |
title_fullStr | Visualizing software refactoring using radar charts |
title_full_unstemmed | Visualizing software refactoring using radar charts |
title_short | Visualizing software refactoring using radar charts |
title_sort | visualizing software refactoring using radar charts |
url | https://doi.org/10.1038/s41598-023-44281-6 |
work_keys_str_mv | AT abdelrahmanalghuwairi visualizingsoftwarerefactoringusingradarcharts AT dimahalfraihat visualizingsoftwarerefactoringusingradarcharts AT yousefsharrab visualizingsoftwarerefactoringusingradarcharts AT hudaalrashidi visualizingsoftwarerefactoringusingradarcharts AT noufalmujally visualizingsoftwarerefactoringusingradarcharts AT ahmedkittaneh visualizingsoftwarerefactoringusingradarcharts AT ahmedali visualizingsoftwarerefactoringusingradarcharts |