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...
Saved in:
Main Author: | |
---|---|
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 |
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. |
---|