写真●Parasoft C++test 9.2の画面
写真●Parasoft C++test 9.2の画面
[画像のクリックで拡大表示]

 テクマトリックスは2011年11月14日、C/C++言語向けの静的解析/単体テストツールの新版「Parasoft C++test 9.2」を販売開始した(写真)。2012年1月初旬に出荷する。新版では主に、脆弱性診断の向上やレポート情報の増強など、セキュリティや安全性に関わる機能を高めた。開発会社は、米Parasoft。

 Parasoft C++testは、開発中のC/C++プログラムを対象に、主としてソースコードの静的解析と単体テストを実施するソフトである。

 静的解析は、プログラムを動作させることなくソースコードが正しく記述されているかどうかを調べるもの。利用できるコーディングルールは約1500種である。上位エディションでは、独自のコーディングルールを作成できる。また、複数の関数やファイルにまたがる全実行パスを解析し、実行パスとデータの組み合わせによって発生するメモリー関連の不具合を検出できる。

 一方、単体テストは、プログラムを実行してみて動作を検証する。ホワイトボックステスト(コードの内部構造を調べた上で、例外処理を含めて、分岐パス上にあるコードが正しく動作するかどうかを調べる)と、ブラックボックステスト(入力に対して仕様通りの出力が得られるかどうかを調べる)ができる。

 ホワイトボックステストでは、例外が発生しやすいテストケースや、何をテストするのかを制御するためのスタブ関数を自動生成する。また、テストのカバレッジ(テストした範囲の網羅性)を確認しやすくしている。ブラックボックステストでは、独自のGUI画面やExcel/CSVファイル経由でテストデータを設定できる。

脆弱性の検知/統制レポートでセキュリティ需要を満たす

 今回の新版では、セキュリティ/安全性を高める拡張を施した。例えば、コーディングルールとして、最も危険なプログラミングエラー上位25を調べる「CWE/SANS TOP 25 Most Dangerous Programming Errors」を追加した。これにより、セキュリティ脆弱性のあるコードを検出できるようになった。

 安全性を説明するためのレポート機能も強化した。具体的には、単体テストの結果レポートに、テスト結果に加えてすべての入力値/出力値を含めるようにした。従来は、テスト結果がNGだった場合に限って入力値/出力値をレポートしており、テスト結果がOKだった場合は入力値/出力値をレポートしていなかった。これを改めた。

 新版ではまた、複数のコード(ファイル)にまたがった重複コードを調べ、これをDB化するようにした。不具合や仕様変更などによって、あるコードに修正を加える必要があった場合に、同一のコードを含むファイルをすぐに探してアクセスできるようになった。

マルチプラットフォームで稼働、組み込みマイコン向けもサポート

 Parasoft C++test 9.2の稼働OSは、Windows、Linux、Solaris、AIX。なお、今回のバージョンからは、富士通セミコンダクターが開発した組み込み用途のマイコン「FRファミリ」向け開発ツール「SOFTUNE Development Tools for Eclipse」の静的解析/テストも可能になった。

 以下の三つのエディションを用意した。(1)「Professional Edition」(49万8000円)は開発者向けの最下位版で、基本機能を提供する。(2)「Architect Edition」(59万8000円)は設計者向けの上位版で、コーディングルールの作成/編集ができる。(3)「Server Edition」(210万円)は、チーム開発向けの最上位版。実行パスとデータの組み合わせによって発生するメモリー関連の不具合を検出できるほか、コマンドラインによるバッチ処理や、開発メンバー間のレビューのためのワークフロー機能を提供する。価格はいずれも税別で、マシン固定ライセンス(初年度保守料込み)である。