エラー検出テクノロジー

Insure++のSource Code Instrumentation(SCI)テクノロジーとランタイム ポイント トラッキング テクノロジーは、Parasoft社が開発したメモリチェックとエラーチェックを徹底的に行なうためのテクノロジーです。Insure++は、これらのテクノロジーを使用し、メモリリークやメモリ破壊、ダングリング ポインタ、メモリオーバーフローなど検出困難なエラーを自動検出します。

Source Code Instrumentation(SCI)テクノロジー

  • 徹底的なメモリチェック
    Source Code Instrumentation(SCI)テクノロジーは、オリジナルのソース コードをパース、解析し、データ構造、メモリ使用、ポインタ使用、およびインタフェースなどのプログラムの各要素のリポジトリデータベースを作成します。同時に、オリジナルと機能面では同じ"同等"のソース コードを新しく生成し、テスト用関数と解析用関数を挿入し、コンパイルします。生成された実行モジュールの実行時に、Insure++が各データ値とメモリ参照をデータベースと照らし合わせ、その一貫性と整合性を検証します。
  • ミュータントテスト
    SCIテクノロジーは、ミュータント テストも実行します。ミュータントテストは、オリジナルのソースコードの動作とテスト用に生成したソースコードの動作を比較検証するテストです。ミュータント テストによって、不正なコピー コンストラクタやコードの初期化順序の誤りなど、エラーにつながる曖昧性などが発見でき、C++ では特に重要なテストです。
    Insure++は、オリジナルのソースコードのコピーではなく、オリジナルのソースコードをパースし、解析し、機能的には同じコードを新しく生成し、テストを実行するので、エラーチェックと同時にミュータントテストを行ないます。Insure++は、テスト実行時にオリジナルのソースコードの動作とテスト用に生成されたソースコードの動作が異なる場合、エラーとしてレポートします。

ランタイム ポイント トラッキング テクノロジー

ランタイム ポイント トラッキング テクノロジーは、メモリへのすべての読み取り/書き込みアクセスを監視し、追跡するテクノロジーです。このテクノロジー により、Insure++はメモリリークに関して詳細で正確な情報をレポートします。 Insure++は、malloc、new、delete、free などのメモリ管理コマンドが実行されると、メモリ使用データベースを更新します。これにより、Insure++ はすべてのメモリ セグメントについてメモリ アクセスを正確に把握できるので、各メモリ ブロックへの最後のポインタ上書きコマンドを検出できます。そのため、実行終了時に検出したメモリリークが「いつ」、「ソースコードのどこで発生し」、「どこでアロケートされたのか」を正確にレポートします。

Insure++が検出するエラー

  • プログラミングエラーとサードパーティ ライブラリインターフェイスエラー
    データ表記と変数宣言の問題、I/O ステートメント、引数の不一致、システム コール内の不正なパラメータ、システム コール内での予期せぬエラー など
  • C++ 固有のエラー
    delete 演算子の一貫しない使用の問題、メモリ割り当ての競合の問題など

  • エラー一覧
*1 Source Code Instrumentationテクノロジーは、米国特許番号 5,581,696 によって保護されています。
*2 ランライムポインタ トラッキングテクノロジーは、米国特許番号 5,842,019によって保護されています。

Insure++に
関するお問い合わせ

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

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

    03-4405-7853

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

お問い合わせ

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