关于 DVERA CT verification tools
DVERA 提供 Skills 和 MCP 服务,帮助编码 Agent 协调关键任务 C/C++ 项目的 CT 验证。分析、测试执行、覆盖率测量和报告由已部署的 CT 环境完成;此代码库不含 CT 运行时。
主要功能
- 01准备编译器与构建环境信息
- 02分析项目并排查配置问题
- 03生成、运行和改进测试
- 04检查回归结果与覆盖率
- 05导出验证报告和证据
适用场景
- 01为 CT 验证准备 C/C++ 项目
- 02生成并执行单元或集成测试
- 03源代码变更后重跑受影响的测试
- 04检查覆盖率并导出验证证据
MCP 相关
MCP 服务通过 `ct_tool.py` 入口将工具调用转发到本地 CT 安装。它提供 CT 验证操作和环境检查工具;产品相关操作需要已部署的 CT 环境。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
DVERA — 面向 C/C++ 编码 Agent 的 CT 验证技能
한국어: README.ko.md
DVERA(Dynamic Verification Agent)将 CT C/C++ 验证工作引入 Claude Code、Codex CLI、Cursor 和 GitHub Copilot 等编码 Agent。它利用源代码、需求、构建信息、源代码更改和现有测试资产的工作上下文,准备并请求 CT 验证工作。
CT(Controller Tester)是一款用于关键任务 C/C++ 软件的单元、集成和基于代码的测试自动化解决方案。它集成了测试环境配置、测试设计与生成、执行、代码覆盖率分析、报告和可追溯性管理。
DVERA 不会取代 CT 的验证结果。编码 Agent 可帮助准备和协调验证工作;CT 则执行分析、构建、测试执行和结果汇总。生成的测试必须经过审核,确认测试意图、数据和预期结果,然后通过实际执行结果和测得的覆盖率加以确认。
CT 和 DVERA 工作流的优势
| 验证需求 | CT 和 DVERA 工作流 |
|---|---|
| 复杂的 C/C++ 环境 | 在分析前记录编译器、宏、包含路径、工具链、构建和目标条件。 |
| 单元和集成验证 | 在函数、模块和接口层面设计并执行测试,并在适用时纳入现有的 GoogleTest 资产。 |
| 可审核的证据 | 将测试意图、执行结果、语句/分支/MC/DC 覆盖率、报告和需求链接起来,以供审核。 |
| 重复验证更改 | 代码更改后重新运行受影响的测试,并审核新增失败和覆盖率变化,以便跟进回归问题。 |
| AI 辅助测试工作 | 利用代码、需求和更改上下文准备测试工作,再通过 CT 分析和测量结果加以改进。 |
工作流概览
- 为 CT 项目准备编译器、宏、包含路径、工具链和目标上下文。
- 分析项目,并通过受控反馈循环解决环境或配置问题。
- 利用构建、执行和覆盖率反馈生成、执行并改进单元或集成测试。
- 审核覆盖率和结果、生成报告,并在源代码更改后重新运行受影响的验证。
本仓库中的技能介绍了与产品相连的工作流。它们不能独立取代 CT 安装。
安装
在 Claude Code 中:
/plugin marketplace add SuresoftTechnologies/dvera-plugin
/plugin install dvera@suresofttech
或在终端中:
claude plugin marketplace add SuresoftTechnologies/dvera-plugin
claude plugin install dvera@suresofttech
随后可将技能加载为 /dvera:ct-init-project、/dvera:ct-test-loop 等。该插件会为每个会话增加约 620 个 token;只有在运行某项技能时,才会读取该技能正文。
需要产品支持的操作必须有已部署的 CT 环境。若没有,技能会在安装检查处停止,并说明如何联系产品支持。
请求示例
以下示例摘自 CT 用户指南。响应可能因 AI 模型和对话上下文而异;如果结果与预期不同,请更详细地改写请求并重试。
| 请求 | 技能 |
|---|---|
Create a CT project and start verification. | ct-init-project |
Run tests in CT. | ct-init-project |
Generate tests for the calculate_checksum function. | ct-test-loop |
Find functions without tests and generate tests for them. | ct-test-loop |
Run regression tests. | ct-regression |
Open CT. | ct-open |
技能
所有技能都需要已部署的 CT 环境才能执行依托产品的操作;如果找不到此环境,则会停止并显示安装提示。
| 技能 | CT 工作流阶段 |
|---|---|
ct-init-project | 启动或准备 CT 验证项目。 |
ct-extract-macro | 获取目标编译器宏和构建环境信息。 |
ct-make-conf | 为所选工具链准备分析配置。 |
ct-setup-project | 创建 CT 项目并应用构建输入。 |
ct-analysis-loop | 分析项目并解决配置或工具链问题。 |
ct-test-loop | 生成、运行和改进测试。 |
ct-kb-update | 完成 CT 运行后,记录经过验证的工作流观察结果。 |
ct-regression | 代码更改后重新运行现有测试并查看差异。 |
ct-self-healing | 收集回归证据并识别 CT Self-Healing 审查候选项。 |
ct-run-gtest | 重新运行在 CT 中注册的 GoogleTest 资源,并查看结果和覆盖率。 |
ct-req-to-test | 根据已批准的需求生成并执行 CT AI 测试。 |
ct-report | 导出执行和覆盖率证据。 |
ct-open | 打开 CT 项目以进行可视化检查。 |
ct-orchestrator | 恢复正在进行的验证工作流中适当的阶段。 |
依托产品的工作流
DVERA 需配合已部署的 CT 和 DVERA 环境使用。本仓库介绍了验证工作流,并提供一个 MCP 服务,将工具调用转发到本地 CT 安装,但不包含 CT 运行时或产品安装。
如果没有已部署的环境,用户可以查看本仓库中介绍的工作流,但需要执行 CT 操作的技能会在安装检查时停止。它不得声称已进行 CT 分析、执行、覆盖率测量或报告生成。
MCP 工具
直接向 Agent 提供 CT 的验证工具。连接 MCP 服务
(scripts/dvera-mcp.py)后,Agent 可以创建项目、运行分析、生成并
执行测试,以及读取覆盖率,无需离开对话——这些工具与 CT 提供给自身 Agent 的
工具相同。调用会转至 CT 的 ct_tool.py 入口点,服务在调用之间不会保留
自己的进程。
可以通过以下两种方式之一进行连接。
将 MCP 客户端指向 CT 自带的解释器——无需额外安装:
{
"mcpServers": {
"dvera": {
"command": "C:/Program Files/Suresoft/CT 2026/python/python.exe",
"args": ["/path/to/dvera-plugin/scripts/dvera-mcp.py"]
}
}
}
在 Linux 上,解释器位于 <CT install>/python/python3。如果你更愿意使用自己的
解释器,任何 Python 3.8 或更高版本都可以。将脚本路径替换为本仓库所在位置:
克隆本仓库,或使用插件管理器安装的副本(claude plugin list 会显示
插件所在位置)。服务会从客户端的工作目录获取源代码目录,因此请从要验证的项目
目录启动客户端。
或者安装此仓库发布版本中的捆绑包:下载 dvera-mcp.mcpb,并
使用支持安装 MCP 捆绑包的客户端打开。它会解析自己的 Python,因此无需预先
安装任何内容。
如果 CT 安装在默认位置之外,请设置 CT_HOME。在任何机器上配置此服务都很安全:
无论如何它都会启动;如果没有 CT,则只会提供一个工具
dvera_check_environment,用于报告缺少的内容以及相应的处理方式。即使 CT 已安装,
也会提供此工具——如果验证工具没有出现,请先运行它。
依托产品进行验证的要求
- CT 2026.06 或更高版本
- 有效的 CT 许可证
- 受支持的 C/C++ 构建和目标环境
- 随已部署 CT 环境提供的 DVERA 集成
如需产品演示、购买或部署咨询,请联系 [email protected]。
隐私政策
此仓库中的 MCP 服务完全在你的计算机上运行。
- 它不会向 Suresoft Technologies 或任何第三方发送任何内容。没有遥测、 没有分析,也不会自行发起网络调用。
- 工具参数会传递给同一台计算机上的 CT 安装,CT 的响应则会返回给你的 MCP 客户端。不会在 CT 自己的工作区之外写入任何内容。
- 它不会存储凭据,也不会读取 CT 安装目录以及工具调用指定的路径之外的任何文件。
- CT 自身记录的任何内容——工作区、分析输出、报告——均由 CT 自身的数据处理方式决定,而非此仓库。
Skills 是文档,不包含会在你的计算机上运行的代码。
完整政策请参阅 PRIVACY.md。有关 CT 产品本身数据处理方式的问题,请联系 [email protected]。
许可证和商标
此仓库采用 MIT License 授权。该许可证涵盖此仓库中的所有内容——文档、Skill 文件和 MCP 服务源代码。但不涵盖 CT 本身:CT 和 DVERA 是 Suresoft Technologies 的产品,此仓库不授予任何产品功能的使用权或产品许可证。
GoogleTest 是 Google LLC 的商标。此仓库与 Google 无关联,未经其赞助或认可。其他产品名称可能是其各自所有者的商标。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。