SUPPORTING SOFTWARE COMPREHENSION THROUGH STRUCTURAL AND SEMANTIC ANALYSIS MODULE IN GRAPH- BASED VISUALIZATION

Software understanding activities are crucial in software development. As software grows and becomes complex, strategies are needed to understand it more efficiently. This study aims to develop structural and semantic analysis module to support program comprehension through program visualization...

Full description

Saved in:
Bibliographic Details
Main Author: Ardiansyah, Firizky
Format: Final Project
Language:Indonesia
Online Access:https://digilib.itb.ac.id/gdl/view/82466
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Institut Teknologi Bandung
Language: Indonesia
Description
Summary:Software understanding activities are crucial in software development. As software grows and becomes complex, strategies are needed to understand it more efficiently. This study aims to develop structural and semantic analysis module to support program comprehension through program visualization in a graph representation. This module aims to enhance the readability of the visualized graph representation and provide relevant context to aid in interpreting the graph visualization. The structural analysis includes graph clustering and multi-level granularity of the graph. Graph clustering helps identify or investigate the structure of the software system and pinpoint the subcomponents that make up the software system. Multi- level granularity supports visualization so that it becomes easier to comprehend through a top-down understanding process. On the other hand, semantic analysis includes generating summaries for method components and generating summaries for the graph. Both provide insights related to the overall content of the visual results, whether from the graph visualization or its components. Through a series of tests, graph visualization to represent software has been found to facilitate software understanding activities. Evaluation results show that graph- based software understanding tools enhance the efficiency of comprehension activities compared to manual source code inspection. User testing results also indicate that structural and semantic analysis module supports software understanding through graph representation. Software evaluation analysis shows that with structural analysis, the graph visualization is easier to trace and understand in its representation. Moreover, semantic analysis provides interpretative support that can reduce the cognitive load of developers during software understanding activities.