テクマトリックス、C/C++メモリエラー検出ツール新版-64ビットに対応


独自技術を使用した強力なエラー検証。コンパイル時の静的解析でエラー解析のためのチェックコードを挿入し、実行モジュールを生成。動的チェックを行えるのが特長

 テクマトリックス株式会社は12月17日、米Parasoft製のC/C++実行時メモリエラー検出ツール「Insure++ Enterprise Edition(以下、Insure++)」の新版「同 Ver.7.1.6」を販売開始した。

 同ツールは、C/C++アプリケーションやドライバ、ミドルウェアに対してランタイムエラーを自動的に検出する開発支援ツール。「Source Code Instrumentaition」などの独自技術により、メモリ破壊、メモリリーク、ポインターエラー、未初期化メモリといった、アプリケーションを動かしただけでは見つけにくい80種類のエラーを自動検出する。

 エラーを検出すると「エラー内容」「関連する変数名」「エラーの原因となるファイル名」「行番号」「スタックトレース情報」など、修正に役立つレポートを出力。テスト実行時に検出されたエラーやメモリリーク、カバレッジ情報などのサマリーも自動生成されるため、品質の確認や管理、提出書類作成にも役立てられる。

 また、レポートからソースコードにジャンプし、その場でエラーの修正も可能。Visual Studio統合開発環境と統合されているため、共有されたメニューやツールバーから操作を行い、Insure++のエラー検出とVisual Studioのデバッガなどを連携させることもできる。

アプリケーションを動かしただけでは見つけにくいメモリリークやメモリ参照エラーなどをピンポイントで検出Windows環境ではVisual Studioと統合。UNIX環境ではコンパイル時のコマンド(gccなど)を“%Insure”にするだけで利用可能。Makeファイルを使用している場合も、「CC=gcc」を「CC=insure」に変更するだけだGUI上でエラーが検出されたソース行番号とカテゴリ、エラー内容、スタックトレース上のどこで発生しているかを確認でき、問題箇所の特定が迅速に行える
Visual Studioと統合した状態で利用可能実行時エラーを検出した様子検出した実行時エラーのサマリ

 同製品には、テストカバレッジ情報をレポートする「TCA(Total Coverage Analysis)」、メモリ使用状況をグラフィカルにレポートする「Inuse」というツールが同梱される。

 TCAは、プログラム中で実施されたテスト部分を特定し、ディレクトリ、ファイル、関数、ソースコード単位でのブロックカバレッジ情報を収集。この分析データからアプリケーションの中でテスト実行されていない個所を特定し、その個所が実行されるようにテストケースを修正することができる。

 一方のInuseは、リアルタイムにアプリケーションによるメモリ使用状況をグラフィカル表示する。メモリリークの検出やヒープ領域のメモリ使用状況の確認、メモリフラグメンテーションの検出、パフォーマンス向上の余地がある個所の検出などに役立つという。

TCAでは実施されたテスト部分を特定し、テストカバレッジ検証を行えるInuseではリアルタイムにアプリケーションによるメモリ使用状況をグラフィカル表示するカバレッジ情報(ファイル単位)。このほかディレクトリ、関数、ソースコード単位でもカバレッジを計測できる
メモリモニタリング結果グラフ。割り当てられたメモリブロックの個数割り当てられたメモリブロックのシーケンス割り当てられているメモリ量
システムエンジニアリング事業部 ソフトウェアエンジニアリング営業部 ソフトウェアエンジニアリング営業第二課の石井加奈子氏

 新版では、32ビットのWindows Vista、Visual Studio 2008に対応したほか、64ビットのOS、アプリケーションに対応した。システムエンジニアリング事業部 ソフトウェアエンジニアリング営業部 ソフトウェアエンジニアリング営業第二課の石井加奈子氏によれば、「他社製品でもプラットフォームとして64ビットOSに対応するものはあるが、チェック対象として64ビットのアプリケーションをサポートしているのはInsure++が唯一」という。このほか他社との優位点について、「メモリリークなどのサマリ機能、コンパイル不要でインストゥルメントのない実行ファイルも検証可能なChaperonモード(Linux版のみ)を搭載しているが、これらも他社にはない機能」としている。

 Windows対応版の価格は、32ビット版が24万8000円、64ビット版が39万8000円。Linux版とUNIX版(HP-UX/AIX/Solaris)の価格は、32ビット版が70万円、64ビット版が120万円。なお、これらの価格には年間保守サービスが含まれ、ノードロック(マシン固定)ライセンスのものとなる。別途、フローティングライセンスも用意している。




(川島 弘之)

2009/12/17 16:41