• HOME
  • ニュース
  • 高速ソースコード解析ツール「Understand 6.3」日本語版の販売を開始
  • 2023.05.31
    • ソフトウェア品質保証

高速ソースコード解析ツール「Understand 6.3」日本語版の販売を開始

〜データフロー図やVariable Trackerなどの新しいグラフィカルビューを搭載。Git連携も強化〜

テクマトリックス株式会社(本社:東京都港区、代表取締役社長:由利孝、以下「テクマトリックス」)は、米国Scientific Toolworks, Inc.(本社:米国ユタ州、最高経営責任者:Ken Nelson、以下「SciTools社」)が開発したソフトウェア解析ツール「Understand 6.3」日本語版の販売を2023年5月31日より開始します。

SciTools社の「Understand」は、C/C++、Java、C#、Pythonなどのソースコードを解析し、その構造を瞬時に可視化するソフトウェア解析ツールとして、2009年8月に国内販売が開始されました。以来、自動車、複合機、デジタルカメラ、医療機器などのソフトウェアを開発する企業をはじめ、研究機関や大学、コンサルティングファーム、個人のエンジニアといった幅広いお客様からの支持を集めています。
巨大化と複雑化が進むソフトウェア開発を成功させるためには、ソフトウェア構造を正確にかつ迅速に把握することが欠かせません。「Understand」は、関数や変数、ファイルといったさまざまな要素に関する情報を詳細に解析し、開発者が容易にそれらの情報にアクセスできる環境を提供します。10年来開発が続く古いソースコードであっても、数百万行に達する大規模なソースコードであっても、扱いが難しいソースコードであればあるほど「Understand」はその真価を発揮します。

このたびリリースされた「Understand 6.3」では、データの流れと処理の流れを可視化するデータフローダイアグラムと、変数がどのように使われていくのかを追跡できるVariable Trackerグラフが追加されました。一部のグラフについては、グラフのエッジ(線)やノード(頂点・節点)のスタイルが変更可能となり、また、操作性も向上しました。加えて、異なるツール間で静的解析結果を共有するフォーマットである、SARIF(Static Analysis Results Interchange Format)レポートをインポートすることが可能になり、静的解析ツールの違反箇所を修正する際の影響分析をUnderstand上で効率よく行うことができる ようになりました。また、Gitとの連携により、Gitリビジョンを指定した比較プロジェクトが作成することができ、変更差分をより簡単に特定することが可能になりました。さらに単一のプログラム内で複数タスク、関数から共有されているグローバル変数をグラフやレポートで可視化できるようになりました。

テクマトリックスは、本製品の国内総販売代理店として、これまで以上に強力になった「Understand 6.3」をソフトウェア解析ツール市場のさらなる拡大の起爆剤とするべく、マーケティング・販売・サポートの活動を強化してまいります。

Understand 6.3の新機能・改善点

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

データの流れと処理の流れを可視化する、データフローダイアグラムが追加されました。データがどのようにグローバル変数および関数に流入し、どのように流出するかをData Flow In/Data Flow Outの2つのグラフで可視化します。また、Variable Trackerでは、変数がどのように使われていくのかを追跡できるので、これまで複数回の操作が必要であった関数をまたがる変数の追跡がしやすくなりました。これにより、可能性があるすべての変数の値を追跡できるため、バグをトレースするのに役立ちます。

Variable tracker
図1. Data Flow Out/Variable Tracker

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

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

グラフカスタマイズ機能
図2. グラフカスタマイズ機能

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

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

Sa
図3. Understand上で静的解析ツールの違反箇所を表示

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

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

git_repogitory
図4. プロジェクト比較機能

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

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

割り込み干渉
図5.共有変数の可視化(割り込み干渉)

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

  • C#:C# 11までの解析をサポート
  • CUDA:C/C++(Strict)解析において、CUDAファイル(.cu, .cuh)の解析をサポート
  • Windows:Windows 11, Windows Server 2022を稼動環境として正式にサポート
  • フローティングライセンスのログ機能の改善

サポートプラットフォーム

  • Windows(64bit):10/2016/2019/11/2022
  • Linux(64bit):CentOS/RHEL 8.4以降、Ubuntu 20.04以降
  • Mac OS:Mojave 10.14以降

解析対象言語

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がテクニカルサポートの対象です。
詳しくは、Understand製品の詳細ページをご確認ください。

販売開始日

  • 販売開始日:2023年5月31日
  • 出荷開始予定日:2023年5月31日
※2023年5月31日において、保守サービスをご契約いただいているUnderstandユーザー様には、「Understand 6.3」バージョンアップ製品を無償でご提供します。

体験版と詳細

本件についてお問い合わせ

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

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

    03-4405-7853

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

お問い合わせ

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