Understand 6.3の新機能・改善点


1. データフロー図や変数の追跡が可能なVariable Trackerをグラフィカルビューに追加

データフロー図(DFD)の追加

データの流れと処理の流れを可視化する、データフローダイアグラムが追加されました。データがどのようにグローバル変数および関数に流入し、どのように流出するかをData Flow In/Data Flow Outの2つのグラフで可視化します。

Variable Trackerグラフの追加

変数がどのように使われていくのかを追跡できるVariable Trackeグラフが追加されました。これまで複数回の操作が必要であった関数をまたがる変数の追跡がしやすくなりました。これにより、可能性があるすべての変数の値を追跡できるため、バグをトレースするのに役立ちます。

2. グラフカスタマイズ機能を強化

グラフのエッジ(線)やノード(頂点・節点)のスタイルが変更可能となり、変更や操作性が向上しました。さらに、メトリクスのカラースケールも追加でき、グラフにオーバーレイさせ、同時に表示できるようになりました。これによりリファクタリング作業の効率化に役立ちます。

3. SARIFレポートのインポート機能が追加され、より効率的に影響分析が実施可能に

SARIF(Static Analysis Results Interchange Format)は、異なるツール間で静的解析結果を共有するためのフォーマットです。Understand GUIツール上にドラッグアンドドロップするだけで、インポートできるようになりました。Understand上で静的解析ツールの違反箇所が表示され、その箇所をクリックするだけで、関連したプログラムに対する影響範囲を効率的に把握できるようになりました。

4. プロジェクト比較機能を改善。解析結果の差分表示がより簡単に

Gitリビジョンを指定した比較プロジェクトを作成できるようになりました。また、プロジェクト比較パネルが追加され、より簡単に比較対象プロジェクトの再解析や比較対象プロジェクトの切り替えが可能になりました。比較プロジェクトを作成すると、メトリクスデータの差分がツリーマップで表示されます。また、追加・削除・変更といった処理の流れの差分がUMLシーケンスダイアグラムに色分けして表示されます。これらの改善は、コードレビューを効率的に実施するのに役立ちます。

5. 共有変数(割り込み干渉)の可視化/レポートを追加

単一のプログラム内で複数タスク、関数から共有されているグローバル変数をグラフ/レポートで可視化できるようになりました。割り込みレベルによる排他制御を設定すると、割り込み禁止区間(保護領域)の共有変数へのアクセスは破線で、共有変数の塗りつぶし色は他の変数と異なる色で表現され、複数タスク、関数からアクセスされている共有変数を視覚的に把握できます。意図しない変数への参照/変更の検出は、不具合リスクの軽減につながります。本機能の追加は、日本の車載企業からのご要望により搭載された機能です。今後もご意見、ご要望をもとに改善に取り組んでまいります。

6. 比較分析に役立つグラフィカルビュー機能の拡充

差分メトリクス ツリーマップの追加

比較メトリクスを対象として、ツリーマップを表示できるようになりました。オプションで指定したメトリクスにサイズやカラーを割り当てることが可能です。

Compare UML Sequence Diagramグラフの追加

比較プロジェクトを設定した場合に、追加・削除・変更された処理の流れの差分を色分け表示する、差分のUMLシーケンスダイアグラムグラフが追加されました。

グラフィカルビューの改善

CallsとCluster Callなど、同系統のグラフを1つにまとめ、オプションでCluster・Compareなどを切り替えられるようになりました。

7. アーキテクチャ機能やログ機能の改善と、各種チェック機能を追加

アーキテクチャ機能の改善

アーキテクチャ設計ビューが追加されました。より簡単に、ファイルや関数を意味のあるまとまりとして、仮想的に整理でき、関連する依存関係を迅速に見つけることができるようになりました。

スペルチェック機能の追加

スペルチェック機能が追加されました。コメントや文字列に対して、スペルミスの単語が指摘され、正しいスペルを選択できるようになりました。ユーザー辞書に単語を追加することもできます。

構文チェック機能の追加

構文チェック機能が追加されました。構文チェックブラウザー画面が追加され、コード内の違反へジャンプできるようになりました。構文チェック違反をファイル、ディレクトリ、プロジェクトレベルで表示できるため、適切な違反に対して適切な修正を行なうことができます。

依存関係チェック機能の追加

依存関係チェック機能が追加されました。関連して、依存関係グラフ・ブラウザーが改善されました。

フローティングライセンスのログ機能を改善

Icarus(オフライン)フローティングのライセンスサーバーログが改善されました。ライセンス却下数に、ライセンスを強制的に剥奪した数に加えて、ライセンス数やクライアントのインストール可能数の上限を超えた数が加算され、出力できるようになりました。

ライセンスポータルフローティング(オンライン)の簡易ログについても、2022年9月末以降、ライセンスを利用したユーザー数と利用可能なライセンス数の上限を超えた数が出力されるようになりました。

8. CUDA、C# 11やWindows 11など、サポート対象を拡充

  • C#:C# 11までの解析をサポート
  • CUDA:C/C++(Strict)解析において、CUDAファイル(.cu, .cuh)の解析をサポート
  • Windows:Windows 11, Windows Server 2022を稼動環境として正式にサポート

ソースコード解析ツール Understandに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
scitools-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。