Understand 5の新機能・改善点

関数ポインターによる関数の呼び出しやポインター変数のアドレス操作の解析機能を強化

C/C++(Strict)モードで、関数ポインターによる関数の呼び出しやポインター変数のアドレス操作など、ポインター経由の依存関係の解析がサポートされました。
これらの依存関係は、Callsグラフなどのグラフィカルビューでも表示できます。

【解析対象のポインター経由の操作(抜粋)】
    • 関数ポインターによる関数の呼び出し
      関数ポインターによる関数の呼び出し

    • 関数テーブル(ジャンプテーブル)
      関数テーブル(ジャンプテーブル)

    • ポインター変数のアドレス操作
      ポインター変数のアドレス操作

    • コールバック関数
      コールバック関数

    • ダブルポインタ
      ダブルポインター

差分グラフィカルビュー / レポートの追加

修正前と修正後のコードから作成した2つの Understandプロジェクトを比較し、追加/削除された関数や変数の参照関係の差分を抽出。差分を色分け表示したグラフと差分のリストが出力されます。

【差分グラフ・リストの種類】
  • Butterfly Compare:追加/削除された関数の呼び出し関係の差分グラフ
    Butterfly Compare:追加/削除された関数の呼び出し関係の差分グラフ

  • Object References Compare:変数の参照関係の差分グラフ
    Object References Compare:変数の参照関係の差分グラフ

  • Changed Entities:ファイルや関数、変数などの差分レポート
    Changed Entities:ファイルや関数、変数などの差分レポート


UML Sequence DiagramやControl Flowといったグラフィカルビュー機能の拡張

既存のグラフィカルビューが拡張されました。
  • UML Sequence Diagram(シーケンス図)
    クラス/ファイル単位での表示に加え、アーキテクチャの単位での表示がサポートされました。 これにより、ディレクトリやモジュールの単位で表示できるようになりました。
    UML Sequence Diagram (シーケンス図)

  • Control Flow(フローチャート)
    分岐などの条件文のみを表示するオプションが追加されました。これにより、関数の条件構造に注目したフローを確認しやすくなりました。
    Control Flow (フローチャート)

また、これまで追加のプラグインとして提供されていた以下のグラフが、標準機能として提供されるようになり、Understand インストール後、すぐに利用できるようになりました。

【追加されたグラフ】
  • Object References
  • Object Refs with CalledBy
  • Calls with Global Objects

サポート言語の拡張とインポートできる Visual Studioプロジェクトの拡充

TypeScript (*.ts, *.tsx)の解析がサポートされました。また、Java 9、Java 10、C# 7.2、PHP 7.0、PHP 7.1がサポートされました。また、Visual Studio 2017(C#/C++)プロジェクトのインポートとVisual Studio 2015(VB.NET)プロジェクトのインポートに対応しました。

プロジェクト設定のインポート/エクスポート機能の追加

Understand GUIから、プロジェクト設定をインポート/エクスポートできるようになりました。これにより、異なるプロジェクト間での、各種解析オプションの設定の統一/共通化がおこないやすくなりました

お問い合わせ

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