- 2025.03.31
-
ソフトウェア品質保証
VSCode拡張機能追加、生成AI活用機能登場、Java Springサポート拡充 ソースコード解析ツール「Understand」日本語版7.0の販売
テクマトリックス株式会社(本社:東京都港区、代表取締役社長:矢井隆晴、以下「テクマトリックス」)は、米国Scientific Toolworks, Inc.(本社:米国ユタ州、最高経営責任者:Ken Nelson、以下「SciTools社」)が開発したソフトウェア解析ツール「Understand 7.0」日本語版の販売を2025年3月31日より開始します。
巨大化と複雑化が進むソフトウェア開発を成功させるためには、ソフトウェア構造を正確にかつ迅速に把握することが欠かせません。「Understand」は、関数や変数、ファイルといったさまざまな要素に関する情報を詳細に解析し、開発者が容易に詳細情報にアクセスできる環境を提供します。10年来開発が続く古いソースコードであっても、数百万行に達する大規模なソースコードであっても、扱いが難しいソースコードであればあるほど「Understand」はその真価を発揮します。
このたびリリースされた「Understand 7.0」では、Microsoft社が提供する無償のコードエディタVisual Studio Code(VSCode)との連携機能が提供されました。VSCodeのマーケットプレースから、Understand拡張機能をVSCodeにインストールでき、VSCodeからUnderstandにジャンプした先で、選択したエンティティ(ファイル、関数、変数など)に関連する情報やメトリクス、グラフをVSCodeと連動して表示します。これにより、VSCodeを利用しながら、ソフトウェアの構造や依存関係を明確に把握することができ、問題の迅速な特定や修正が可能になり、開発プロセスがスムーズになります。また、Java言語においては、Springフレームワークの解析に対応したのに加えて、Bean定義やインジェクションをはじめとしたDIの依存関係などの解析が可能になり、Javaの解析範囲が拡張されました。さらに、Understand 7.0では生成AI連携機能が登場し、Understandの解析結果と生成AIを統合し、要素(ファイル、クラス、関数など)の概要説明を生成するAI Description Generator機能(アルファ版)が利用できるようになりました。生成された説明は、Understandの情報ブラウザーとアノテーション(注釈)に表示され、グラフ上にも生成AIによる説明を表示できるようになりました。Understandが従来から提供しているソフトウェアの構造や依存関係の解析情報に加えて、生成AIによる説明も参考にできるので、開発や保守作業の効率化を期待できます。
テクマトリックスは、本製品の国内総販売代理店として、これまで以上に強力になった「Understand 7.0」をソフトウェア解析ツール市場のさらなる拡大の起爆剤とするべく、マーケティング・販売・サポートの活動を強化してまいります。
巨大化と複雑化が進むソフトウェア開発を成功させるためには、ソフトウェア構造を正確にかつ迅速に把握することが欠かせません。「Understand」は、関数や変数、ファイルといったさまざまな要素に関する情報を詳細に解析し、開発者が容易に詳細情報にアクセスできる環境を提供します。10年来開発が続く古いソースコードであっても、数百万行に達する大規模なソースコードであっても、扱いが難しいソースコードであればあるほど「Understand」はその真価を発揮します。
このたびリリースされた「Understand 7.0」では、Microsoft社が提供する無償のコードエディタVisual Studio Code(VSCode)との連携機能が提供されました。VSCodeのマーケットプレースから、Understand拡張機能をVSCodeにインストールでき、VSCodeからUnderstandにジャンプした先で、選択したエンティティ(ファイル、関数、変数など)に関連する情報やメトリクス、グラフをVSCodeと連動して表示します。これにより、VSCodeを利用しながら、ソフトウェアの構造や依存関係を明確に把握することができ、問題の迅速な特定や修正が可能になり、開発プロセスがスムーズになります。また、Java言語においては、Springフレームワークの解析に対応したのに加えて、Bean定義やインジェクションをはじめとしたDIの依存関係などの解析が可能になり、Javaの解析範囲が拡張されました。さらに、Understand 7.0では生成AI連携機能が登場し、Understandの解析結果と生成AIを統合し、要素(ファイル、クラス、関数など)の概要説明を生成するAI Description Generator機能(アルファ版)が利用できるようになりました。生成された説明は、Understandの情報ブラウザーとアノテーション(注釈)に表示され、グラフ上にも生成AIによる説明を表示できるようになりました。Understandが従来から提供しているソフトウェアの構造や依存関係の解析情報に加えて、生成AIによる説明も参考にできるので、開発や保守作業の効率化を期待できます。
テクマトリックスは、本製品の国内総販売代理店として、これまで以上に強力になった「Understand 7.0」をソフトウェア解析ツール市場のさらなる拡大の起爆剤とするべく、マーケティング・販売・サポートの活動を強化してまいります。
Understand 7.0の新機能・改善点
Visual Studio Code(VSCode)ワークフローにUnderstandをシームレスに統合
Microsoftが提供する無償のコードエディタVisual Studio Codeに対応したUnderstandのVSCode拡張機能が提供されました。この機能拡張により、VSCodeとUnderstandの双方向から該当のファイルや関数にジャンプすることが可能になりました。また、VSCodeからUnderstandにジャンプした先で、選択したエンティティ(ファイル、関数、変数など)に関連する情報やメトリクス、グラフを連動して表示できるようになりました。加えて、VSCodeからUnderstandの解析コマンドを呼び出して解析を実行し、Understandの解析エラーや警告を確認できるようになりました。Java Springの解析サポート
解析対象に、Springフレームワークが追加されました。以下について、Dependency Injectionの依存関係などの解析が行えるようになりました。- Dependency Injection
- Bean定義
- ステレオタイプアノテーション
- @Beanメソッド(JavaConfigクラスに記述)
- インジェクション
- コンストラクタインジェクション
- セッターインジェクション
- フィールドインジェクション
- Bean定義
- AOP(Aspect Oriented Programming)
- JPA/Hibernate
関数などの概要説明を生成AI機能で生成
AI Description Generator(アルファ版)により、Understandの解析結果と生成AIを統合し、要素(ファイルクラス、関数など)の概要説明を生成するようになりました。生成された説明は、Understandの情報ブラウザーとアノテーション(注釈)に表示されます。AI分析は、Ollama(大規模言語モデルLLMをローカル環境で実行可能なオープンソースツール)を使用して、Llama3モデルによって実行されます。セットアップスクリプト(モデルのダウンロードとインストール)を実行するには、インターネット接続が必要です。日本語モデルをインストールし、プロンプトを日本語に設定することで、日本語の概要説明も生成可能であることを確認しています。Shared Tasks(割り込み干渉)の可視化グラフの機能強化
Understand 6.3で対応した共有変数の可視化(割り込み干渉)グラフに下記の機能が追加されました。- コアの情報を追加
- マクロを割り込み排他制御として使用可能
- 構造体のメンバー変数に対応
- グローバル変数を起点にした割り込みを表現
Assignments/Assigned Toグラフの機能追加
C/C++のStrict解析で、変数の割り当て情報を表示するAssignments/Assigned Toグラフが追加されました。変数がどこで参照され、どのように変化していくのか、その影響先を追跡できるようになりました。変数が割り当てられた時に関数が関与している場合に、関数名が表示されます。Renesas Green Hillsプロジェクトのサポート対象を拡充
Green Hills MULTI、Renesas CS+プロジェクトのインポートをサポートしました。Understandのプロジェクト作成時に、各種統合開発環境のプロジェクトファイルをインポートすることで、解析対象のファイルやコンパイル設定を追加することができます。- Green Hills MULTIプロジェクトファイル(.gpj)
- Renesas CS+が出力するRenesas共通プロジェクトファイル(.rcpe)
プラグインマネージャー
プラグインは、Understandに機能を追加する拡張機能です。プラグインは、以前からも提供されていましたが、手動でインストールする必要がありました。このたびのバージョンで搭載された、プラグインマネージャーでは、GUI上でプラグインの内容を参照、有効化/無効化できるようになりました。特定のニーズに合わせて簡単にカスタマイズできるようになりました。強化されたインタラクティブ レポート
インタラクティブ レポートで表、グラフ、チャートが表示可能になりました。また、実行結果をPDF、HTML、テキスト形式でエクスポートが可能になり、さらに、コマンドラインからもインタラクティブ レポートを実行できるようになりました。リスト ブラウザー
情報ブラウザーとシームレスに統合されており、分析したい参照や参照ツリーをクリックすることで、リストを簡単に作成できるようになりました。色付きフラグを活用して参照を分類して追跡できます。デバッグだけでなく、リファクタリングやコードレビュー、影響分析でも利用可能です。Qtシグナルとスロットの接続解析
Qtの下記の解析に対応しました。- QtライブラリのincludeによるQt独自マクロ・型の認識
- Qt独自キーワードの認識
- signal/slot/connectの解析
機能安全認証取得
Understandは、第三者認証機関であるTÜV SÜD社よりISO 26262、IEC 61508、EN 50128に準拠したツールとして認証を取得しました。- 認証書に記載のビルド(ハッシュ値)は、「Understand 6.3 Build 1136(英語版)」のみです。
Understand 6.3の正式日本語版は、Build 1139です。 - 証明書の記載のビルドに日本語版は含まれていませんが、違いは言語パッケージのみであるため、言語パッケージが機能安全性に影響を与えないことを開発元で確認しています。
利用するプロジェクト側で「証明書に記載された特定のビルド(ハッシュ値)のみ」との制約がある場合には適用できません。 - 「Understand 6.3 Build 1136」以降のすべてのビルドも、内部プロセスは同じで有効であるため、適用されることを開発元で確認していますが、Understand 7.0(日本語版)を含めた、再認証取得の予定は現在検討中となっています。
メトリクス プラグイン
さまざまなカスタム メトリクスを簡単に導入できるようになりました。サポートプラットフォーム
Windows(64bit):10.22H2以降 / 2019 / 11 / 2022Linux(64bit):RHEL 9以降、Ubuntu 22.04以降
Mac OS:Monterey 12以降
※その他環境の動作実績については、お問い合わせください。
解析対象言語
Ada、Assembly、C/C++、Objective-C/C++、C#、VB.NET、FORTRAN、Java、Pascal、Python、VHDL、Web(PHP、HTML、CSS、JavaScript、TypeScript) ※C/C++、Objective-C/C++、C#、VB.NET、Java、Python、Webがテクニカルサポートの対象です。販売開始日
- 販売開始日:2025年3月31日
- 出荷開始予定日:2025年3月31日
体験版と詳細
関連するサービス・製品
本件についてお問い合わせ
テクマトリックス株式会社
東京本社ソフトウェアエンジニアリング事業部
03-4405-7853
- メールでのお問い合わせ
- scitools-info@techmatrix.co.jp