PalladioSimulator/Palladio-ReverseEngineering-SoMoX
GitHub: PalladioSimulator/Palladio-ReverseEngineering-SoMoX
SoMoX 是一款从 C/C++、Delphi 和 Java 源代码中自动提取软件组件模型的逆向工程工具,帮助开发者理解现有系统架构。
Stars: 2 | Forks: 0
# 软件模型提取器
[](https://github.com/PalladioSimulator/Palladio-ReverseEngineering-SoMoX/actions/workflows/build.yml) [](https://github.com/PalladioSimulator/Palladio-ReverseEngineering-SoMoX/actions/workflows/quality.yml) [](https://github.com/PalladioSimulator/Palladio-ReverseEngineering-SoMoX/actions/workflows/page.yml)
SoMoX 是一款由卡尔斯鲁厄理工学院 (KIT) 开发的逆向工程工具,用于从源代码生成软件组件模型。它会自动提取不同类型的软件组件,包括基础组件、组合结构、接口、端口和连接器。SoMoX 使用各种源代码指标来指导其提取过程,使其能够适应特定项目的组件定义和需求。SoMoX 支持使用 C/C++、Delphi 和 Java 编写的源代码。

## 概述
### 主要特性
- **自动组件提取:** SoMoX 可以无需人工干预,直接从源代码中自动提取软件组件。
- **多语言支持:** SoMoX 支持使用 C/C++、Delphi 和 Java 编写的源代码。
- **适应不同的组件定义:** SoMoX 可以根据不同的定义配置组件提取方式,包括基于组件的架构、面向对象编程和微服务。
- **详细的组件模型:** SoMoX 会生成包含组件结构、接口、端口和连接器信息的综合组件模型。
### 优势
- **提升软件理解能力:** SoMoX 可以帮助开发者更好地理解现有软件系统的架构和结构。
- **提高可维护性:** SoMoX 通过提供代码的结构化表示,简化了现有软件的维护工作。
- **简化代码重用:** SoMoX 可以帮助开发者识别并重用现有代码中可复用的组件。
- **有效的变更影响分析:** SoMoX 可用于分析代码变更对软件组件的影响,有助于风险评估和决策制定。
- **加速开发:** SoMoX 可以通过从组件模型生成代码来促进快速原型设计和开发。
### 示例
- **提取可复用组件:** SoMoX 可以从现有代码中识别出可复用组件,并创建可应用于新项目的组件模型。
- **分析代码变更:** SoMoX 可用于分析代码变更对软件组件的影响,从而识别潜在的风险和问题。
- **从模型生成代码:** SoMoX 可以从组件模型生成代码,简化了快速原型设计和新软件的开发。
- **记录软件架构:** SoMoX 可用于创建软件架构文档,增进开发者之间的理解与沟通。
## 历史
### 版本
SoMoX 是 ArchiRec 的继任者。最新版本的 SoMoX 使用我们[基于 JDT 的 JaMoPP 版本](https://github.com/MDSD-Tools/JaMoPP) 作为其后端。此前,SoMoX 曾提供过以下三种其他后端:
- [SISSy](http://sourceforge.net/projects/sissy/)
- [MoDisco](https://eclipse.org/MoDisco/)
- [DevBoost JaMoPP](https://github.com/DevBoost/JaMoPP)
## 安装说明
SoMoX 以 Eclipse 更新站点的形式提供,需要 Java 17 和 Eclipse 2023-03:
## 文档
本 README 提供了基本信息。有关详细说明、示例和高级用法,请参阅:
- [官方文档](https://sdq.kastel.kit.edu/wiki/SoMoX)
- [SoMoX 指标文档 (PDF)](https://sdq.kastel.kit.edu/mediawiki-sdq-extern/images/4/49/SoMoX_Metric_Documentation.pdf)
- [使用静态和动态分析重构软件组件架构与行为模型](https://primo.bibliothek.kit.edu/permalink/f/4jne3t/KITSRCE1000025617)
- [源代码与软件架构模型的自动化协同演化](https://primo.bibliothek.kit.edu/permalink/f/4jne3t/KITSRCE1000081447)
## 许可证
SoMoX 采用 [EPL-2.0 许可证](LICENSE)。
标签:JS文件枚举, Nuclei漏洞扫描, 域名枚举