Imagix Corporation

C/C++/Java対応ソースコード構造解析ツール「Imagix 4D」

Imagix 4D は、大規模化および複雑化する C/C++/Javaプログラムのための、リバースエンジニアリングおよびドキュメント作成ツールです。
ソースコードのフローを強力なクエリ機能とグラフィカル機能でビジュアル化することにより、コードの構造を明らかにし、開発者が容易にこれを理解/把握できるようにします。

評価版   ダウンロード

特長

Imagix4Dのメリット

ソースコードの構造を様々な観点で見える化

個々の関数内におけるコードのフロー(構造やロジック)をビジュアル化し、開発者(たとえ他人であっても)が容易に理解/把握できるようにします。

プログラム要素の使用箇所などを容易にナビゲーション

リバースエンジニアリングによって得られたプログラム要素(マクロ/変数/関数/クラス/ファイルなど)をクリックすることによって、使用箇所や定義箇所を容易に表示できます。また、Imagix4Dのソースコードビューア、関数呼び出し構造図、フローチャートなどは連動しているため、不具合箇所や改訂箇所を容易に特定でき、生産性を向上できます。

コードレビューレポートの生成

HTML、 RTF、 TEXT形式にて設計ドキュメントを自動作成し、ソフトウエアの添付資料やコードレビューの資料に役立てることができます。

仕様

Imagix4D サポートプラットフォームとバージョン

開発元:Imagix Corporation

  • Windows 7/10 (64bit X86プロセッサ)
  • CentOS 6/7 (64bit X86プロセッサ) 
  • Ubuntu 16.04/18.04 (64bit X86プロセッサ)

機能

製品概要

概要

Imagix 4Dは、ソフトウェア開発者が複雑な、または旧式のC/C++ソフトウェアを理解するのに役立ちます。Imagix 4Dを使用してコードのリバースエンジニアリングやドキュメント作成を行うことにより、開発、機能改善、再利用、テストを迅速化することができます。解釈 の誤りによるバグを少なくすることができます。新しいメンバーが早く作業にとりかかれるようにすることができます。コードの理解に時間をかけず、開発作業 に時間を費すことができます。

包括的なプログラム解析ツールであるImagix 4Dにより、高レベルのアーキテクチャからビルド、クラス、機能の関連性の詳細にいたるまでのあらゆるレベルでソフトウェアを素早く解析して系統的に理解 することができ、ソフトウェアの制御構造、データ用法、継承などのさまざまな側面を視覚的に確認することができます。また、ソフトウェアメトリックスおよ びソースチェックを調査し、ソフトウェアの問題領域を特定してそれを修正することができます。さらに、Imagix 4Dが収集したソフトウェアの情報を利用して自動的に設計ドキュメントを作成することができます。

データ収集と視覚化

Imagix 4Dは複数のソースからソフトウェアに関するデータを収集し、統合します。 そのうち最も有用であるのはソースコード自体です。 Imagix 4Dのソースコード・アナライザは総合的にコードの構文を解析し、さらに組み込みエラー修正、静的関数ポインタ解析、コード品質検査などの拡張機能を備え ています。解析結果は、エンティティ/関係/属性のデータベーステクノロジにより他のソースから収集したデータと併せて格納、統合されます。

Imagix 4Dはこの情報を複数のウインドウに連動させて、使いやすく表示します。 データベースの情報にアクセスすることにより、これらのウィンドウからソフトウェアを迅速かつ正確に理解することができます。また、プログラムの異なる複 数の側面を同時に表示することができます。各ウィンドウで補完される情報により、そのソフトウェア固有の設計を素早く理解することが可能です。

UML Diagramモードとその他の高レベルな抽象化

Imagix 4Dがソフトウェアに関して保守するデータの包括的なセットは短い間に膨大な量になってしまう場合があります。いくつかの高レベルな抽象化メカニズムによ り、概要レベルで解析を開始することができます。その後より詳細な情報へとドリルダウンし、当面の問題に役立てることができます 

これらのメカニズムにUML Diagramモードが含まれています。UML Diagramは統一モデリング言語に基づいて既存のソフトウェアに関する見方を示します。これにより、インタフェース、協調、関連性をクラス・レベルお よびファイル・レベルで調べることができます。複雑なシステムを正確かつ包括的に理解するには、まず単純な組み込みUMLクラス図やファイル・レベルの図 を見てから、Imagix 4Dがソフトウェアについて収集した包括的な情報を利用することにより、詳細なメンバ・レベルの関係(関連)を追加していけばよいでしょう。

フローチャートおよび制御フローの解析

ソフトウェアの制御ロジックをより詳細に解析していくと、基本的なコールグラフでは必要なすべての情報が得られない場合があることに気付くかもしれませ ん。そのような解析に対応するため、Imagix 4Dソースコード・アナライザは関数内部のプログラム・ロジックのような低レベルのデータを収集します。 

この情報を使用して、フローチャートが生成されます。全プログラム・フロー(if、else、do、while、switch ロジック)の参照と解析を関数内部について行うことができ、特に複雑な関数を理解するために役立ちます。 

また、このデータはImagix 4Dの制御フロー解析サポートの基礎を形成します。Control Flowモードは関数呼び出しおよび変数使用の順序と条件を示すことにより、単純なコールグラフよりも多くの情報を提供します。それにより、開発中のコー ドの実際の制御フローについて、はるかに正確な理解をすることができます

ソフトウェアメトリックスとソースチェック

Imagix 4Dにより収集された品質メトリックスにより、ソフトウェアの開発および保守における潜在的な問題を特定することができます。ソースチェックを利用する と、設計やコーディングの一般的な標準に対する例外を発見することができます。また、ソフトウェアメトリックスと所属組織固有の基準とを比較して、ソフト ウェアを開発の基準に適合させることができます。問題領域を特定して修正すれば、ソフトウェアの明瞭性、移植性、保守性を向上させることができます。

さらに、この機能をImagix 4Dのリバースエンジニアリング機能と統合することにより、品質調査およびプログラム解析における作業の効率を向上させます。

自動ドキュメント作成

Imagix 4Dは、自作ソフトウェアまたは継承したソースコードについて包括的な設計ドキュメントを生成するのにも役立ちます。 

Imagix 4Dデータベースおよびソースコード自体にある情報を使用して、Imagix 4Dはソフトウェアの各コンポーネント(ファイル、クラス、関数など)についての文書作成作業を自動化します。 Imagix 4DはプレーンASCIIドキュメントのほか、HTML( オンライン・イントラネット文書用)およびRTF(通常文書用)の形式に出力できます。

その結果、作業量が大幅に軽減され、より正確なドキュメントが得られ、煩わしい作業から解放されます。

詳細情報

Imagix 4D のより詳しい情報、説明をご希望の方は、 ss_sales@toyo.co.jp まで、ご連絡ください。

画面集

Imagix 4Dは、複雑なソフトウェアまたは古いソフトウェアをより簡単で高速かつ効率的に理解、解析、および文書化することを支援します。このツールはソフトウェ アの主な特徴に関する情報を視覚的に示し、これらのビューにすばやくフォーカスすることによって、ユーザが直面している特定の課題に答えられるようにします。

以下に画面のいくつかの例を示します。これらの静的な画面では詳細な内容を見るのは難しいと感じることがあるでしょう。ツールを実行して画面を切り替えていくと、より簡単に3次元表示を見ることができます。

これらの画面集から理解するのがさらに難しいことは、自分が関心のある情報にビューをフォーカスする過程であり、Imagix 4D 探索エンジンを使用して最重要な「4次元表示」を得ることです。しかしこれらのビューはそれだけで非常に印象的です。画面集をここに公開していますが、最 終的にはデモソフトウェアのコピーを取得してご自身で試していただくことをお勧めします。

Imagix 4D の画面集は次の項目となります。

ディスプレイ・ウィンドウ

1.Main Window にはグラフウィンドウおよびリストウィンドウが含まれています。
2.File Browser はファイルの閲覧および調査を支援します。
3.Class Browser はクラスの閲覧および調査を支援します。
4.Editor はハイパーテキスト表示およびコードの編集を可能にします。
5.Use Browser はシンボルの使用箇所および使用方法を示します。
6.Grep Tool はgrep 機能を統合します。
7.Flow Chart は関数内の制御フローを図示します。
8.Metrics Tool はシンボルをソフトウェアメトリックスによってリストおよびソートします。
9.Reports はソフトウェアの側面を自動的に解析します。
10.On-Line Help にはいくつかのフォームによる情報が含まれています。

グラフウィンドウおよび操作モード

1.3D Graph にはグラフウィンドウ、プロジェクトウィンドウおよびシンボルウィンドウが含まれます。
2.2D Graph は同じウィンドウを2次元グラフで表示します。
3.Cross Reference は同じウィンドウを相互参照グラフで表示します。
4.View Dialog により表示するデータの種類を制御することができます。
5.Build dependencies はファイル間の#includeの関係を示します。
6.UML Class Diagram はクラス間のインターフェイスおよび関係を表示します。
7.UML File Diagram はファイル間の完全な依存関係を表示します。
8.Function pointer の使用法が認識され、表示されます。
9.Control Flow Mode は呼び出しのシーケンスおよび条件を示します。

レポートおよびソフトウェアメトリックス

1.Metrics Tool はファイルレベルのソフトウェアメトリックスを表示します。
2.Metrics Tool は関数レベルのソフトウェアメトリックスを表示します。
3.File Browser は特定のファイルのソフトウェアメトリックスを表示します。
4.Graph Window は構造のコンテキストにおけるメトリックスを表示します。
5.Source Check Report は現在のファイルにあるすべての例外をリストします。
6.Reentrant Functions Report はマルチタスクのシステムを解析します。

自動化された文書

1.HTML format にはImagix 4Dによって生成された文書のサンプルがあります。
2.ASCII format にはプレーンテキストによる設計文書の一セクションがあります。

資料ダウンロード

動画

Imagix 4Dで基本的な操作説明をまとめました。

なお、操作に対するご質問、ご意見等のお問い合わせは [ss_support@toyo.co.jp] までご連絡ください。

プロジェクトを作成するには

プロジェクトの作成 新しいプロジェクトを作成します。

データをロードするには

データロード
(ダイアログで解析)
ダイアログを通して解析を行うためにデータソースをロードします。
データロード
(MSCVプロジェクトで解析)
MSCVプロジェクトを通して解析を行うためにデータソースをロードします。
データロード
(MSCVワークスペースで解析)
MSCVワークスペースを通して解析を行うためにデータソースをロードします。

解析機能を使用するには

関数の解析 関数間および関数と変数の関係を関数コールツリーで表示します。

解析結果を表示するには

関数の影響範囲を確認する クロスリファレンスにより関数の親関数を参照し、関数を修正した場合の影響範囲を確認します。
変数の影響範囲を確認する クロスリファレンスにより変数にアクセスする関数を確認します。
ソフトウェアの全体構造を見やすくする ソフトウェアの規模が大きい場合に、関数コールツリーに必要な関数のみを表示するための調整を行います。
変数のアクセス順を追跡する コントロールフロー図により関数から変数へのアクセス順を確認します。
未使用関数を確認する ルート関数を参照し、未使用の可能性がある関数を確認します。

FAQ

テクニカルサポート

技術的なお問い合わせ

Imagix 4Dに関する技術的なご質問に対しては、弊社のサポートデスクがお答えいたします。
お問い合わせ先:ss_support@toyo.co.jp

緊急の場合には、電話によるお問い合わせに対してもお答えいたします。
お取扱い時間は、 9:30~17:30(⼟⽇、祝⽇を除く)です。

ご注意:
サポートデスク宛に技術的なご質問をお出しになる場合、お客様と弊社の間には 保守契約が締結されている必要があります。

お問い合わせに際してのお願い

  1. お問い合わせのE-mailに、次の情報を付加してください。それによって、より早い回答をお届けすることができます。
     ・ ご使用になっているOSの種類とバージョン
     ・ ご使用になっている製品のバージョン
  2. エラーメッセージが出ている場合は、そのエラーメッセージを正確にお送りください。また、問題が発生した画面をキャプチャした画像ファイルをお送りください。
  3. 可能な限り、その問題が発⽣した経緯、再現の⼿順をお知らせください

保守契約のご案内

製品ダウンロード

ライセンス情報

Imagix4Dのライセンスが必要な方は、下記のライセンス申請書をご記入の上、[SS_lic@toyo.co.jp]までご送付ください。