dc.description.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.
The 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. The 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, the 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, like precision and recall, demonstrate
the accuracy of ScaMaha in parsing, analyzing, and visualizing software source code, as all code artifacts were correctly extracted. |
en_US |