中文

ScaMaha:一种用于解析、分析和可视化面向对象软件系统的工具

软件工程 2025-01-22 v1 编程语言

摘要

逆向工程工具需要处理软件产品的复杂性以及许多不同任务(如软件分析和可视化)的独特需求。因此,逆向工程工具应适应各种情况。静态代码分析(SCA)是一种无需运行软件即可分析和探索软件源代码的技术。手动审查软件源代码给软件开发人员带来了额外负担,是一项繁琐、易出错且成本高昂的工作。本文提出了一种基于SCA的面向对象(OO)源代码分析和可视化的原创方法(称为ScaMaha)。ScaMaha是一种模块化、灵活且可扩展的逆向工程工具。ScaMaha围绕一个新的元模型以及一个新的代码解析器、分析器和可视化器构建。ScaMaha解析器基于抽象语法树(AST)提取软件源代码,并将其存储为代码文件。代码文件包含所有软件代码标识符、关系和结构信息。ScaMaha分析器研究并利用代码文件生成关于软件源代码的有用信息。软件度量文件提供关于软件系统的独特度量,例如方法访问关系的数量。软件源代码可视化在软件理解中起着重要作用。因此,ScaMaha可视化器利用代码文件可视化软件源代码的不同方面。可视化器生成关于软件源代码的独特图形,例如继承关系的可视化。ScaMaha工具已应用于从小型到大型软件系统的多个案例研究,例如绘图形状、移动照片、健康观察者、rhino和ArgoUML。结果显示了ScaMaha工具的可扩展性、性能、健全性和准确性。评估指标(如精确率和召回率)证明了ScaMaha的准确性……

关键词

引用

@article{arxiv.2501.11001,
  title  = {ScaMaha: A Tool for Parsing, Analyzing, and Visualizing Object-Oriented Software Systems},
  author = {Ra'Fat Al-Msie'deen},
  journal= {arXiv preprint arXiv:2501.11001},
  year   = {2025}
}

备注

20 pages, 16 figures, 3 tables, 8 listings, and 90 references