DVERA CT verification tools について
DVERAは、ミッションクリティカルなC/C++プロジェクトのCT検証をコーディングエージェントが調整するためのSkillsとMCPサーバーを提供します。分析、テスト実行、カバレッジ測定、レポート作成はデプロイ済みのCT環境が担い、このリポジトリにCTランタイムは含まれません。
主な機能
- 01コンパイラーとビルド環境情報の準備
- 02プロジェクト分析と設定問題の解決
- 03テストの生成、実行、改善
- 04回帰結果とカバレッジの確認
- 05検証レポートとエビデンスの出力
活用シーン
- 01CT検証に向けたC/C++プロジェクトの準備
- 02単体テストまたは統合テストの生成と実行
- 03ソース変更後の影響テストの再実行
- 04カバレッジ確認と検証エビデンスの出力
MCP 対応
MCPサーバーは`ct_tool.py`エントリーポイントを介して、ローカルのCTインストールにツール呼び出しを転送します。CT検証操作と環境確認ツールを提供し、製品連携操作にはデプロイ済みのCT環境が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
DVERA — C/C++ コーディングエージェント向け CT 検証スキル
한국어: README.ko.md
DVERA(Dynamic Verification Agent)は、Claude Code、Codex CLI、Cursor、GitHub Copilot などのコーディングエージェントで CT の C/C++ 検証作業を行えるようにします。ソースコード、要件、ビルド情報、ソースの変更、既存のテスト資産という作業コンテキストを活用して、CT 検証作業の準備と依頼を行います。
CT(Controller Tester)は、ミッションクリティカルな C/C++ ソフトウェアのユニットテスト、統合テスト、コードベースのテストを自動化するソリューションです。テスト環境の設定、テストの設計と生成、実行、コードカバレッジの分析、レポート作成、トレーサビリティ管理を一元化します。
DVERA は CT の検証結果に取って代わるものではありません。コーディングエージェントが検証作業の準備と調整を支援し、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 個です。各スキルの本文は、そのスキルの実行時にのみ読み込まれます。
製品を利用する操作には、デプロイ済みの 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 環境で動作します。このリポジトリには検証ワークフローの説明と、ツール呼び出しをローカルの CT インストールに転送する MCP サーバーが含まれていますが、CT ランタイムや製品のインストールは含まれていません。
デプロイ済みの環境がない場合、ユーザーはこのリポジトリに記載されたワークフローを確認できますが、CT の操作を必要とするスキルはインストール確認の時点で停止します。CT の解析、実行、カバレッジ測定、レポート作成が行われたと主張してはなりません。
MCP ツール
CT の検証ツールをエージェントに直接提供します。MCP サーバー
(scripts/dvera-mcp.py)を接続すると、会話から離れずにプロジェクトを作成し、解析を実行し、テストを生成・実行して、カバレッジを読み取れます。これらは CT が独自のエージェントに公開しているものと同じツールです。呼び出しは CT の ct_tool.py エントリーポイントに送られ、サーバーは呼び出しの間に独自のプロセスを保持しません。
次の 2 つの方法のいずれかで接続します。
CT に同梱されているインタープリターを MCP クライアントに指定します。追加のインストールは不要です。
{
"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 独自の方針に従います。
スキルはドキュメントであり、お使いのマシンで実行されるコードは含まれていません。
ポリシーの全文は PRIVACY.md をご覧ください。CT 製品自体におけるデータの取り扱いに関するお問い合わせは、 [email protected] までお寄せください。
ライセンスと商標
このリポジトリは MIT License のもとでライセンスされています。このライセンスは、このリポジトリに含まれるすべてのもの、つまりドキュメント、スキルファイル、MCP サーバーのソースコードを対象とします。CT 自体は対象外です。CT と DVERA は Suresoft Technologies の製品であり、このリポジトリによって製品の機能や製品ライセンスが付与されることはありません。
GoogleTest は Google LLC の商標です。このリポジトリは Google と提携、後援、承認を受けていません。その他の製品名は、それぞれの所有者の商標である場合があります。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。