テクマトリックス、自動テストツール新版「C++test 9.2」を発売

組み込み向け統合開発環境とコンパイラに対応


 テクマトリックス株式会社は14日、米Parasoft製のC/C++対応自動テストツール新版「Parasoft C++test 9.2」を発売した。

 C++testは、静的解析(コーディング規約検証/フロー解析)、単体テスト、テストカバレッジ計測、実行時メモリエラー検出を行う自動テストツール。

C++testの機能概要と適用フェーズEclipseと統合されたトップ画面

 コーディング規約検証では、ソースコードの信頼性や可読性、移植性やセキュリティ、自動車業界で標準となっているMISRA(The Motor Industry Software Reliability Association)など、多岐のカテゴリにわたる約1500種類のコーディング規約を使用したソースコード解析を行う。規約のカスタマイズ機能を利用し、独自の規約を実装することも可能。

静的解析機能の概要

 フロー解析では、複数の関数やファイルにまたがる処理フローを静的に解析し、特定の処理フローで発生するゼロ除算や未初期化メモリの参照など、ソースコードの重大なエラーや問題を検出する。

フロー解析機能の概要

 単体テストでは、テストケース、スタブ、テストドライバを自動生成し、実行時例外などのエラーを検出する。また、テスト実行時に7種類のカバレッジを計測することで、テストの網羅性を視覚的に確認できる。

単体テスト機能の概要

 実行時メモリエラーでは、テスト実行時にメモリ領域を監視し、実行時のメモリエラーを検出する。

実行時メモリエラー検出機能の概要



組み込みシステム統合開発環境とコンパイラに新対応

SDTとの統合画面

 新版では、自動車業界で広く使われているという、富士通セミコンダクター株式会社が開発したFRファミリ用Eclipseプラグインツール「SOFTUNE Development Tools for Eclipse(以下、SDT)」と「SOFTUNE C/C++コンパイラ」をサポートした。

 これにより、組み込みシステム統合開発環境のSDTのGUI上で、静的解析、単体テスト、テストカバレッジ計測、実行時メモリエラー検出といった機能を利用可能となる。SDT利用時にテスト用の環境を別途用意せずに済むので、より効率的にテスト・検証作業が行えるという。

 このほか静的解析において「重複コード(クローンコード)の解析」に対応。ソースコード内にバグが見つかった際に、その原因となるコードを別のファイルにコピーして利用しているような場合、その検出も可能となる。

重複コード(クローンコード)の解析に対応

 また、メソッド、継承の深さ、コンストラクター、オブジェクト間の結合の合計数などがひと目で分かる「メトリクスビュー(メトリクス計測)」機能も搭載。メソッドの数や継承の深さなどそれぞれに極値(しきい値)を設定し、超えた場合にアラートを表示することも可能となる。

メトリクス計測機能画面例

 規約セットの追加も行われ、新たにセキュリティ脆弱性を検証する「CWE SANS Top 25 Most Dangerous Software Errors」に対応した。

 単体テストにおいては、すべてのテストケースの入力値・出力値・コメントを含めたレポートが生成可能に。従来はテストがエラーとなった場合のみ詳細がレポートされたが、テストの成否にかかわらずすべてのテストケースを見える化することで、外部委託におけるソースコード受け入れ時のテスト実行項目の確認や、機能安全規格(IEC 61508やISO 26262など)において要求されるトレーサビリティが可能となる。なお、C++testはすでにIEC 61508/ISO 26262認証を取得している。

単体テスト レポート機能拡張

 ライセンスは利用できる機能に応じて「Professional Edition」「Architect Edition」「Server Edition」の3種類。価格はそれぞれ49万8000円(税別)、59万8000円(同)、210万円(同)。

ライセンスの機能比較



関連情報