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

Full description

Bibliographic Details
Main Authors: Abdel-Rahman Al-Ghuwairi, Dimah Al-Fraihat, Yousef Sharrab, Huda Alrashidi, Nouf Almujally, Ahmed Kittaneh, Ahmed Ali
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