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

Full description

Saved in:
Bibliographic Details
Main Author: Praharsa Bahar, Gagas
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
Description
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..