検索
ニュース

バグの深刻度を示すソース・コードの静的解析ツール、コベリティが2010年出荷へ組み込み技術

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 米Coverity(コベリティ)社は2009年11月11日、ソース・コードの静的解析ツール「Coverity 5」を2010年3月末までに出荷すると発表した。同社の静的解析ツール「Prevent」の事実上の後継製品で、ビューア機能を改善し、Preventに比べて検出内容を見やすくした。

 同社のツールは、静的解析手法を採りながら動的解析ツール並みに精度が高いことが特長である。Coverity 5では、検出した不具合を深刻度に応じて自動的に順位を付け、発見した不具合を抱えるコードが影響を及ぼす先のコードをドリル・ダウン表示する。不具合の深刻度は、共通脆弱(ぜいじゃく)性タイプ一覧(Common Weakness Enumeration:CWE)の情報を基に分類する。

図1
図1 米Coverity社のプロダクト・マネージメント・ディレクターを務めるThomas Schultz氏

 例えば、ポインタ変数を利用して値を関数に渡し、その関数でその値を操作するようなコードあったとする。呼び出し元のある特定条件下でポインタ変数にヌル・ポインタが代入されてしまうような場合、呼び出された関数でポインタ変数の内容を確認しないまま処理してしまうと不具合が生じる。このようなコードが書かれていると、Coverity 5では、呼び出し元のコードと、呼び出し先の関数でそのポインタ変数を利用して処理している部分を同一画面に表示するようにし、不具合の影響や原因を特定しやすくした。さらに、その不具合を含んだコードを利用しているプロジェクトを表示し、影響が及ぶ最終製品も一覧できるようにした。

図2
図2 Coverity 5の画面
異なるファイルであっても、不具合の原因となっているコード部分と、その影響が及ぶコード部分を同一画面に表示する。

 対応するプログラミング言語は、C言語、C++言語、C#、Java。オープンソースのソフトウエア開発ツール「Eclipse」や、米Microsoft社のソフトウエア開発ツール「Visual Studio」に統合して利用することも可能である。なお、将来は、同社の動的解析ツールやビルド解析ツール、アーキテクチャ解析ツールも統合する予定だとした。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る