ScaMaha: A Tool for Parsing, Analyzing, and Visualizing Object-Oriented Software Systems
Journal:
arXiv
Published Date:
Jan 19, 2025
Abstract
Reverse engineering tools are required to handle the complexity of software
products and the unique requirements of many different tasks, like software
analysis and visualization. Thus, reverse engineering tools should adapt to a
variety of cases. Static Code Analysis (SCA) is a technique for analyzing and
exploring software source code without running it. Manual review of software
source code puts additional effort on software developers and is a tedious,
error-prone, and costly job. This paper proposes an original approach (called
ScaMaha) for Object-Oriented (OO) source code analysis and visualization based
on SCA. ScaMaha is a modular, flexible, and extensible reverse engineering
tool. ScaMaha revolves around a new meta-model and a new code parser, analyzer,
and visualizer. ScaMaha parser extracts software source code based on the
Abstract Syntax Tree (AST) and stores this code as a code file. The code file
includes all software code identifiers, relations, and structural information.
ScaMaha analyzer studies and exploits the code files to generate useful
information regarding software source code. The software metrics file gives
unique metrics regarding software systems, such as the number of method access
relations. Software source code visualization plays an important role in
software comprehension. Thus, ScaMaha visualizer exploits code files to
visualize different aspects of software source code. The visualizer generates
unique graphs about software source code, like the visualization of inheritance
relations. ScaMaha tool was applied to several case studies from small to large
software systems, such as drawing shapes, mobile photo, health watcher, rhino,
and ArgoUML. Results show the scalability, performance, soundness, and accuracy
of ScaMaha tool. Evaluation metrics, such as precision and recall, demonstrate
the accuracy of ScaMaha ...