ptidejteam/ptidej-Ptidej

GitHub: ptidejteam/ptidej-Ptidej

一套用于评估和增强面向对象程序质量的模式检测与分析工具,支持从语言、设计到架构三个层面的模式识别与改进。

Stars: 9 | Forks: 17

# Ptidej [![License: GPL v2](https://img.shields.io/badge/License-GPL_v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) ![Java](https://img.shields.io/badge/Java-orange) ![Apache Maven](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/8145a3ba38110236.svg) [![CO₂ Shield](https://img.shields.io/badge/CO₂-C_0.42g-C89806)](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结果处理, 代码度量, 代码质量评估, 反向工程, 反模式检测, 域名枚举, 域名枚举, 操作系统探测, 架构分析, 程序理解, 网络发现, 网络管理, 自动化安全运营, 设计模式识别, 软件维护, 软件重构, 错误基检测, 静态代码分析, 面向对象编程