FineCodeAnalyzer: Multi-perspective source code analysis support for software developer through fine-granular level interactive code visualization

Source code analysis is one of the important activities during the software maintenance phase that focuses on performing the tasks including bug localization, feature location, bug/feature assignment, and so on. However, handling the aforementioned tasks on a manual basis (i.e. finding the location...

Full description

Bibliographic Details
Main Authors: Abdul Qayum, Saif Ur Rehman Khan, Inayat-Ur-Rehman, Adnan Akhunzada
Format: Article
Language:English
English
Published: Institute of Electrical and Electronics Engineers 2022
Subjects:
Online Access:https://eprints.ums.edu.my/id/eprint/33371/1/FineCodeanAlyzer%2C%20Multi-perspective%20source%20code%20analysis%20support%20for%20software%20developer%20through%20fine-granular%20level%20interactive%20code%20visualization.ABSTRACT.pdf
https://eprints.ums.edu.my/id/eprint/33371/2/FineCodeAnalyzer%2C%20Multi-Perspective%20Source%20Code%20Analysis%20Support%20for%20Software%20Developer%20through%20Fine-Granular%20Level%20Interactive%20Code%20Visualization.pdf
_version_ 1796911393203552256
author Abdul Qayum
Saif Ur Rehman Khan
Inayat-Ur-Rehman
Adnan Akhunzada
author_facet Abdul Qayum
Saif Ur Rehman Khan
Inayat-Ur-Rehman
Adnan Akhunzada
author_sort Abdul Qayum
collection UMS
description Source code analysis is one of the important activities during the software maintenance phase that focuses on performing the tasks including bug localization, feature location, bug/feature assignment, and so on. However, handling the aforementioned tasks on a manual basis (i.e. finding the location of buggy code from a large application) is an expensive, time-consuming, tedious, and challenging task. Thus, the developers seek automated support in performing the software maintenance tasks through automated tools and techniques. However, the majority of the reported techniques are limited to textual analysis where the real developers’ concerns are not properly considered. Moreover, existing solutions seem less useful for the developers. This work proposes a tool (called as FineCodeAnalyzer) that supports an interactive source code analysis grounded on structural and historical relations at fine granular-level between the source code elements. To evaluate the performance of FineCodeAnalyzer, we consider 74 developers that assess three main facets: (i) usefulness, (ii) cognitive-load, and (iii) time efficiency. For usefulness concern, the results show that FineCodeAnalyzer outperforms the developers’ self-adopted strategies in locating the code elements in terms of Precision, Recall, and F1-Measure of accurately locating the code elements. Specifically, FineCodeAnalyzer outperforms the developers’ strategies up to 47%, 76%, and 61% in terms of Precision, Recall, and F1-measure, respectively. Additionally, FineCodeAnalyzer takes 5% less time than developers’ strategies in terms of minutes of time. For cognitive-load, the developers found FineCodeAnalyzer to be 72% less complicated than manual strategies, in terms of the NASA Tool Load Index metric. Finally, the results indicate that FineCodeAnalyzer allows effectively locating the code elements than the developer’s adopted strategies.
first_indexed 2024-03-06T03:18:08Z
format Article
id ums.eprints-33371
institution Universiti Malaysia Sabah
language English
English
last_indexed 2024-03-06T03:18:08Z
publishDate 2022
publisher Institute of Electrical and Electronics Engineers
record_format dspace
spelling ums.eprints-333712022-07-20T04:01:40Z https://eprints.ums.edu.my/id/eprint/33371/ FineCodeAnalyzer: Multi-perspective source code analysis support for software developer through fine-granular level interactive code visualization Abdul Qayum Saif Ur Rehman Khan Inayat-Ur-Rehman Adnan Akhunzada QA76.75-76.765 Computer software Source code analysis is one of the important activities during the software maintenance phase that focuses on performing the tasks including bug localization, feature location, bug/feature assignment, and so on. However, handling the aforementioned tasks on a manual basis (i.e. finding the location of buggy code from a large application) is an expensive, time-consuming, tedious, and challenging task. Thus, the developers seek automated support in performing the software maintenance tasks through automated tools and techniques. However, the majority of the reported techniques are limited to textual analysis where the real developers’ concerns are not properly considered. Moreover, existing solutions seem less useful for the developers. This work proposes a tool (called as FineCodeAnalyzer) that supports an interactive source code analysis grounded on structural and historical relations at fine granular-level between the source code elements. To evaluate the performance of FineCodeAnalyzer, we consider 74 developers that assess three main facets: (i) usefulness, (ii) cognitive-load, and (iii) time efficiency. For usefulness concern, the results show that FineCodeAnalyzer outperforms the developers’ self-adopted strategies in locating the code elements in terms of Precision, Recall, and F1-Measure of accurately locating the code elements. Specifically, FineCodeAnalyzer outperforms the developers’ strategies up to 47%, 76%, and 61% in terms of Precision, Recall, and F1-measure, respectively. Additionally, FineCodeAnalyzer takes 5% less time than developers’ strategies in terms of minutes of time. For cognitive-load, the developers found FineCodeAnalyzer to be 72% less complicated than manual strategies, in terms of the NASA Tool Load Index metric. Finally, the results indicate that FineCodeAnalyzer allows effectively locating the code elements than the developer’s adopted strategies. Institute of Electrical and Electronics Engineers 2022-02-14 Article PeerReviewed text en https://eprints.ums.edu.my/id/eprint/33371/1/FineCodeanAlyzer%2C%20Multi-perspective%20source%20code%20analysis%20support%20for%20software%20developer%20through%20fine-granular%20level%20interactive%20code%20visualization.ABSTRACT.pdf text en https://eprints.ums.edu.my/id/eprint/33371/2/FineCodeAnalyzer%2C%20Multi-Perspective%20Source%20Code%20Analysis%20Support%20for%20Software%20Developer%20through%20Fine-Granular%20Level%20Interactive%20Code%20Visualization.pdf Abdul Qayum and Saif Ur Rehman Khan and Inayat-Ur-Rehman and Adnan Akhunzada (2022) FineCodeAnalyzer: Multi-perspective source code analysis support for software developer through fine-granular level interactive code visualization. IEEE Access, 10. pp. 20496-20513. ISSN 2169-3536 https://ieeexplore.ieee.org/document/9713841 https://doi.10.1109/ACCESS.2022.3151395 https://doi.10.1109/ACCESS.2022.3151395
spellingShingle QA76.75-76.765 Computer software
Abdul Qayum
Saif Ur Rehman Khan
Inayat-Ur-Rehman
Adnan Akhunzada
FineCodeAnalyzer: Multi-perspective source code analysis support for software developer through fine-granular level interactive code visualization
title FineCodeAnalyzer: Multi-perspective source code analysis support for software developer through fine-granular level interactive code visualization
title_full FineCodeAnalyzer: Multi-perspective source code analysis support for software developer through fine-granular level interactive code visualization
title_fullStr FineCodeAnalyzer: Multi-perspective source code analysis support for software developer through fine-granular level interactive code visualization
title_full_unstemmed FineCodeAnalyzer: Multi-perspective source code analysis support for software developer through fine-granular level interactive code visualization
title_short FineCodeAnalyzer: Multi-perspective source code analysis support for software developer through fine-granular level interactive code visualization
title_sort finecodeanalyzer multi perspective source code analysis support for software developer through fine granular level interactive code visualization
topic QA76.75-76.765 Computer software
url https://eprints.ums.edu.my/id/eprint/33371/1/FineCodeanAlyzer%2C%20Multi-perspective%20source%20code%20analysis%20support%20for%20software%20developer%20through%20fine-granular%20level%20interactive%20code%20visualization.ABSTRACT.pdf
https://eprints.ums.edu.my/id/eprint/33371/2/FineCodeAnalyzer%2C%20Multi-Perspective%20Source%20Code%20Analysis%20Support%20for%20Software%20Developer%20through%20Fine-Granular%20Level%20Interactive%20Code%20Visualization.pdf
work_keys_str_mv AT abdulqayum finecodeanalyzermultiperspectivesourcecodeanalysissupportforsoftwaredeveloperthroughfinegranularlevelinteractivecodevisualization
AT saifurrehmankhan finecodeanalyzermultiperspectivesourcecodeanalysissupportforsoftwaredeveloperthroughfinegranularlevelinteractivecodevisualization
AT inayaturrehman finecodeanalyzermultiperspectivesourcecodeanalysissupportforsoftwaredeveloperthroughfinegranularlevelinteractivecodevisualization
AT adnanakhunzada finecodeanalyzermultiperspectivesourcecodeanalysissupportforsoftwaredeveloperthroughfinegranularlevelinteractivecodevisualization