言語横断のアーキテクチャ制御、3Dスマートコードシティ、AIプロンプトビルダー、ネイティブIDEプラグインをもたらすメジャーアップデート。
エンタープライズのモノレポでソフトウェアアーキテクチャを管理し、技術的負債を防ぐのは困難です。特に、ネイティブのC/C++モジュールとJVMベースのサービスやインターフェースを橋渡しする場合はなおさらです。システムが時間とともに拡大すると、構造上の境界は侵食されます。循環依存が忍び込み、ビルド時間は悪化し、コードの複雑さは、開発者がリファクタリングを恐れる脆弱な「神クラス」へと転移していきます。
このたび CppDepend 2026.2のリリースにより、複数のソフトウェアエコシステムにわたる静的解析、3Dコード可視化、AIエージェントワークフロー、自動化された品質ゲートの統一に向けて、大きな飛躍を遂げました。
重要なお知らせ: CppDepend 2026.2は 個人利用および非営利利用に限り完全無料。
このリリースに含まれる内容と、エンジニアリングチームがソフトウェアアーキテクチャを検査・管理・近代化する方法をどう変えるのか、詳しく見ていきましょう。
1. マルチ言語エンジン:C、C++、Javaの橋渡し
静的解析は言語の境界で止まるべきではありません。現代のシステムが単一の言語で書かれることは稀です。高性能なC/C++エンジンは、Javaのオーケストレーター、マイクロサービス、エンタープライズ向けデスクトップクライアントと頻繁に連携します。
CppDepend 2026.2では、静的解析パースエンジンがCおよびC++と並行して Javaコードベースをネイティブに解析。
- 言語横断のアーキテクチャ制御: 循環依存、コンポーネント結合、構造的な技術的負債を、複数言語のリポジトリ全体にわたって単一の統一モデルで追跡します。
- 統一メトリクス: ネイティブコンポーネントとJVMベースのコンポーネントの両方に均一な静的解析メトリクスを適用します。循環的複雑度、メソッドの凝集度欠如(LCOM)、求心性/遠心性結合(Ce/Ca)、保守性指数を並べて測定できます。
- 安全性・コンプライアンス基準: 以下を含む国際的なソフトウェア標準にわたって、ルールを自動的に適用します: MISRA C/C++、 CERT C/C++、 CWE、およびJavaセキュリティガイドライン。
コンパイル済みアセンブリ、Javaバイトコード、ソースASTを解析することで、CppDependはシステム全体の健全性について、偏りのない数学的裏付けのある視点を提供します。
2. スマートコードシティ:3Dアーキテクチャ可視化
数十万行、あるいは数百万行のコードベースを、生のテキストや静的なファイルツリーだけで理解するのはほぼ不可能です。新しい開発者のオンボーディングやエンタープライズのアーキテクチャレビューでは、空間的な可視化が大きな助けになります。
CppDepend 2026.2では、インタラクティブな依存関係マトリクスやツリーマップに加えて、 スマートコードシティ を導入しました:

- インタラクティブな3Dコードシティ: コードベースを仮想の3D都市として探索できます。各ビルは型やクラスを表し、地区は名前空間やパッケージを表します。ビルの高さと色から、複雑さのホットスポットや技術的負債が一目でわかります。
- 即時ホットスポット検出: システムを視覚的に飛び回り、巨大な「神クラス」、高い結合度、脆弱なモジュールを、本番環境に影響が出る前に特定します。
- 依存構造マトリクス(DSM): 高密度なマトリクスビューで複雑なコンポーネント間の関係を詳細に分析し、循環依存、コンポーネントのレイヤリング違反、不適切なパッケージ結合を瞬時に浮き彫りにします。
3. AIワークフロー:Code Questとプロンプトビルダー
静的解析は問題を 指摘する だけでなく、それを 修正 するまでの道のりを加速すべきです。生成AIツール(Copilot、ChatGPT、Claudeなど)の最大の課題の1つは、コンテキストウィンドウの汚染と構造的なハルシネーションです。LLMはコードベースのグローバルなASTグラフを持っていません。
CppDepend 2026.2は、2つの専用AI支援アーキテクチャツールを通じて、静的解析とLLMを橋渡しします:
- Code Quest(コードベースに質問する): CppDependの静的解析エンジンを基盤に、自然言語で型、メソッド、名前空間、依存関係、メトリクスを照会できます。正確な回答、問題の分布、技術的負債の見積もりを数秒で取得できます。
- プロンプトビルダー: 静的解析とLLMを橋渡しします。プロンプトビルダーは、CppDependから正確なASTコンテキスト、コールグラフ、ルール違反、重要度データを抽出し、AIコーディングアシスタント向けに最適化された、根拠の強いプロンプトを生成します。ハルシネーションのあるコンテキストなしで、アーキテクチャ上の欠陥をより速く修正できます。

4. カスタム品質ボードとCQLinqエンジン
CppDependの中核にあるのが CQLinq(Code Query LINQ)です。これは業界初のクエリ言語で、C#のクエリ構文を使ってカスタムルールを直接記述できます。硬直的な定義済みルールに頼る代わりに、コードをデータベースのようにクエリできます:
// Example: Find high-complexity methods that lack unit test coverage
from m in Methods
where m.CyclomaticComplexity > 15 && m.PercentageCodeCoverage < 50
select new { m, m.CyclomaticComplexity, m.PercentageCodeCoverage }
2026.2では、この基盤を以下のように拡張しました:
- コードインサイト: コード要素(アセンブリ、名前空間、型、メソッド)ごとに統一された単一のビューを取得します。 「このコードは健全か?」 という問いに、サイズメトリクス、技術的負債の影響、テストカバレッジ、コールグラフのタブを1画面で即座に答えられます。
- カスタムボード: ルールウィジェット、トレンドチャート、品質ゲートを使って、独自のカスタムダッシュボードを構成できます。ビルドパイプラインに厳格な合否のしきい値を定義し、技術的負債がメインブランチに到達する前に食い止められます。
5. マルチIDE・マルチプラットフォーム統合
アーキテクチャの強制は、開発者が実際にコードを書く場所に届いてこそ機能します。CppDepend 2026.2は、現代的なエンタープライズ開発環境にシームレスに適合します:
- 対応IDE: Visual Studio 2026、VS Code、JetBrains CLion、JetBrains IntelliJ IDEA、Eclipse。
- 対応OS: 以下でネイティブに動作します: Windows、macOS、Linux。
- CI/CD統合: GitHub Actions、Azure DevOps、GitLab CI、Jenkinsと統合し、品質ゲートやコンプライアンスルールに違反した場合にビルドを自動的に失敗させられます。
- グローバルチーム: 分散したエンジニアリング組織向けに、多言語UI(英語、フランス語、ドイツ語、中国語、日本語)を備えています。
6. 技術的負債の自動見積もりと修復コスト
技術的負債を非技術系のステークホルダーやエンジニアリング管理者に定量化して伝えるのは、歴史的に困難でした。開発者はコードスメルの存在を知っていますが、経営層が新機能開発よりリファクタリングを優先するには、具体的な金銭的・時間的見積もりが必要です。
CppDepend 2026.2は、すべてのルール違反について 技術的負債と修復コスト を自動的に算出します:
- 負債比率とレーティング(A〜E): 蓄積されたコードスメルを修正するために必要な労力を、コードベースをゼロから書き直すのに必要な総労力と比較して測定します。
- 実行可能な修復労力: すべての静的解析ルールにはデフォルトの修正時間見積もり(例: メソッドの結合度を下げるのに15分、 循環依存を解消するのに2時間)が含まれ、チームのベロシティに応じて完全にカスタマイズできます。
- 負債の利息追跡: 負債の多いモジュールの保守にエンジニアリングチームが毎日どれだけ余分な時間を浪費しているかを、修正の初期コストと比較して確認できます。
7. 継続的なCI/CD統合と自動品質ゲート
アーキテクチャの劣化を防ぐには、プルリクエストレベルでの自動化された制御が必要です。手動のコードレビューでは、開発者がモジュール間に巨大な循環ループを生む依存リンクを導入するような、微妙なアーキテクチャの侵食を見逃しがちです。
CppDepend 2026.2は、デプロイパイプラインの自動ゲートキーパーとして機能します:
- シームレスなCI/CD統合: GitHub Actions、Azure DevOps、GitLab CI、Bitbucket Pipelines、Jenkins内でヘッドレスに実行されます。
- 厳格な品質ゲート: ビルドの失敗条件を定義できます。新しいコードが循環依存を導入した場合、単体テストカバレッジが必要なしきい値を下回った場合、または1回のコミットで2時間を超える技術的負債を追加した場合に、プルリクエストをブロックします。
- ベースライン比較(差分解析): 任意の現在のビルドを過去のベースライン(前回のリリースやメインブランチなど)と比較できます。 新たに導入された問題 と 既存の負債を瞬時に区別して表示し、開発者が自分の触れたコードにのみ責任を持てるようにします。
技術的負債を実践的なエンジニアリングへ
技術的負債は主観的な感覚ではなく、測定可能なエンジニアリング上の負債です。20年物のC++モノリスを近代化する場合でも、複雑なJavaサービスを保守する場合でも、CI/CDに自動品質ゲートを確立する場合でも、CppDepend 2026.2は持続可能なソフトウェアを構築するために必要な可視性と制御を提供します。
