SUPPORTING SOFTWARE COMPREHENSION THROUGH STATIC ANALYSIS MODULE IN GRAPH-BASED VISUALIZATION SOFTWARE
In this modern era, the development of complex software requires a deep understanding of source code and program structure. This research aims to develop a static analysis module as part of a program comprehension support application that can aid in understanding programs by visualizing source co...
Saved in:
Main Author: | |
---|---|
Format: | Final Project |
Language: | Indonesia |
Subjects: | |
Online Access: | https://digilib.itb.ac.id/gdl/view/82464 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Institut Teknologi Bandung |
Language: | Indonesia |
Summary: | In this modern era, the development of complex software requires a deep
understanding of source code and program structure. This research aims to develop
a static analysis module as part of a program comprehension support application
that can aid in understanding programs by visualizing source code in the form of
graphs. This module is designed to convert source code into graph representations
that help developers identify source code complexity.
Additionally, the module is equipped with features for calculating software
complexity metrics. These metrics encompass various aspects such as cyclomatic
complexity, lines of code, and Halstead metrics, providing insights into the
maintenance difficulty and further development. These metrics are calculated not
only at the project level but also at other granularities, including packages, classes,
and methods. This research also evaluates the complexity metrics used by
comparing them with the subjective complexity perceived by software developers.
Through testing and evaluation, the research results show that graph representation
not only facilitates the visualization and understanding of program structure but
also provides deeper insights into software complexity. The subjective evaluation
conducted reveals a correlation between the automatically calculated complexity
metrics and the complexity perceived by developers, although some variations need
to be considered.. |
---|