ptidejteam/ptidej-Ptidej
GitHub: ptidejteam/ptidej-Ptidej
一套用于评估和增强面向对象程序质量的模式检测与分析工具,支持从语言、设计到架构三个层面的模式识别与改进。
Stars: 9 | Forks: 17
# Ptidej
[](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)


[](https://overbrowsing.com/projects/co2-shield)
在 Ptidej 团队(Pattern Trace Identification, Detection, and Enhancement in Java,即 Java 模式追踪识别、检测与增强)中,我们的目标是开发理论、方法和工具,通过推广习语、设计模式和架构模式的使用,来评估和改进面向对象程序的质量。我们希望将模式形式化,识别模式的出现,并改进已识别的出现。我们还希望通过实验评估模式对面向对象程序质量的影响。我们开发了各种工具,最著名的是 Ptidej 工具套件和 Taupe,用于评估和增强面向对象程序的质量,在语言、设计和架构层面推广模式的使用。
Ptidej 工具套件的源代码是开放的,并根据 GNU Public License v2 发布。
## 它是什么?
* Ptidej 工具套件
* https://wiki.ptidej.net/
## 我需要什么?
- Java 25 及其 JDK
- Maven 版本 3.9.9
- Eclipse 2025-12 (4.38.0 M2)
(请注意,Eclipse 仅允许对其支持的最新 JDK 进行预览。)
## 如何设置?
要构建整个项目,请使用:
```
mvn clean
mvn validate
mvn install
```
其中:
- `mvn validate` 安装第三方 JARs,例如 `cfparse` 和 `db4o`。
- `mvn install` 编译、测试、打包并安装所有子项目。
你也可以使用以下命令清理本地 Maven 仓库:
`mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false`。
执行这些命令后,运行:
```
java -jar "DeMIMA UI Viewer Standalone Swing/target/demima-ui-viewer-swing-1.0.0-jar-with-dependencies.jar"
```
此 JAR 启动一个 Swing GUI 以与 Ptidej 工具套件进行交互。
## 联系谁?
- 仓库管理员:info@ptidej.net
- Wiki 文档:https://wiki.ptidej.net
## 故障排除
某些子项目需要 JDK 21 中预览的功能(这些功能可能会在 JDK 22 中可用)。因此,测试和程序需要在命令行中添加 JVM 参数 `--enable-preview`。整个项目和某些子项目还需要向 JVM 传递特定的 `--add-exports` 和 `--add-opens` 参数,这些参数已经在相应的 `pom.xml` 文件中设置好了。因此,JVM 参数为:
```--enable-preview --add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED```
## 指南
* 编写测试
* 代码审查
* 其他指南
### 待办事项
按重要性排序:
- 修复 `PADL Creator C++ (Eclipse)` 中的测试
- 向 `Creator MSE` 添加测试
- 向 `PADL Generator PageRank` 添加测试
- 清理测试输出
- 修复/隐藏任何异常
- 重构代码以充分利用 Java 21
- 移除编译警告
- 修复 `...Swing` 中菜单 Export SVG 的 JPG 导出功能
- 简化并更新 `...Swing` 中的“关于”信息
- 寻找 `com.sun.tools.javac` 库的替代方案,该库是 JDK 的内部库。
- 模块化 Ptidej 以利用 Java Platform Module System。
标签:Eclipse插件, GPL协议, Java开发工具, JS文件枚举, Maven构建, Nuclei漏洞扫描, Ptidej, Waymore结果处理, 代码度量, 代码质量评估, 反向工程, 反模式检测, 域名枚举, 域名枚举, 操作系统探测, 架构分析, 程序理解, 网络发现, 网络管理, 自动化安全运营, 设计模式识别, 软件维护, 软件重构, 错误基检测, 静态代码分析, 面向对象编程