コベリティ、「ソースコードの不具合による影響度を明確化」ソースコード最適化ソリューション「Coverity5」発表

» 2009年11月11日 00時00分 公開
[内野宏信,@IT]

 コベリティは11月11日、ソースコードの最適化を支援するソリューション「Coverity5」を発表した。ソースコードにおける不具合を自動的に解析、分類し、重要度に応じて修正の優先順位を付けるとともに、1つ1つの不具合が、複数のソースコードブランチ、プロジェクト、そのソフトウェアを使った製品にどう影響するかを自動的にマッピングする機能などを搭載した。これにより、ソフトウェアの内容変更作業の確実性、効率性を大幅に押し上げられるという。

 市場環境変化が早い近年、ビジネスや製品を支えるソフトウェアにも市場の動きに即したスピーディな開発と、優れた品質が求められている。しかし製品の仕様変更、ビジネスの内容変更に伴うソフトウェアの変更作業が頻発しており、どうしてもソースコードの不具合が誘発されやすい状況にある。

写真 米コベリティ プロダクトマネージメント ディレクターのトーマス・シェルツ氏

 米コベリティ プロダクトマネージメント ディレクターのトーマス・シェルツ氏は、「変更があっても問題なく対応できればいいが、それは現実的にみて難しい。変更により生じるリスクを低減するためには、複数の配慮すべきポイントがある」と指摘し、5つのポイント――「変更により発生した不具合の確実な検出」「不具合の重要度の見極め」「(1つの不具合による)複数のソースコード、プロジェクト、そのソフトウェアを使っている製品に対する影響度の把握」「不具合の素早い修正」「不具合修正の確認」――を挙げた。

 中でも重要なのは、「不具合の重要度の見極め」と、1つの不具合が及ぼす「影響度の把握」だ。時間との戦いになるソフトウェアの変更作業において、修正に優先順位を付けたり、不具合の影響範囲・内容を把握したりすることは、修正に必要な工数、コストなどを計算し、無駄を省いた作業を迅速に行ううえで大きなカギとなる。

 Coverity5では、こうしたポイントに基づき、5つのステップでソースコードの最適化を支援するという。具体的には、Coverity5の製品群である静的解析ツール「Coverity Static Analysis」、動的解析ツール「Coverity Dynamic Analysis」、ビルド解析ツール「Coverity Build Analysis」、アーキテクチャ解析「Coverity Architecture Analysis」などによって提供される機能を統合することで、ソースコードをスキャンして不具合を抽出→重大性に応じた修正作業の優先順位付け→不具合のあるソースコードと同じソースコードを使っている全プロジェクト・製品に対する影響をマッピング→ソースコード修正支援→レポーティング機能で修正状況を確認、といった流れを支援する。

写真 スキャン→優先順位付け→影響範囲のマッピング→修正支援→レポーティングといった5つのステップを支援する

 同社によると、これらの各プロセスに強みがあるという。まず、スキャンについては「特許取得済みアルゴリズムにより、90%以上の正確度を確保」しているという。不具合検出では、米国土安全保障省の支援を受けて活動している非営利団体、MITRE Corporationが定めた、ソフトウェアにおけるセキュリティ上の脆弱性の種類を識別するための共通基準、「CWE」(Common Weakness Enumeration)を採用。これに基づいて、不具合のカテゴリを適確に分類、修正の優先順位を付けるという。

 作業を行う開発者の使い勝手にも配慮した。例えば、不具合があるソースコードには識別用のカラーマーカーを付けて表示し、不具合個所をひと目で発見・閲覧できるようにしているほか、不具合を含んだソースコードをドリルダウンして、単一の画面上で関連するソースコードを表示可能とするなど、根本的な原因を即座に把握しやすい仕組みとしている。

写真 不具合の影響範囲・内容や修正状況を視覚的に把握できる。ここから詳細データにドリルダウンすることもできる

 一方、「影響度のマッピング」では、「統合不具合管理インターフェース」と呼ぶGUIを使って、1つの不具合がどのコードブランチ、開発チーム、プロジェクト、製品に影響を与えるかを自動的にマッピングするとともに、不具合のあるコードがどのプロジェクト、製品で、どのように使用されているかも把握できる。これにより、「例えば、同一シリーズの中で異なる仕様の製品をラインナップしている携帯電話のように、複数のプロジェクト・製品で、単一のソースコードを使い回している場合も、より効率的な修正対応を可能にする」という。レポーティングにいても、「品質管理担当者が望む視点による、柔軟なデータ分析が可能だ」(コベリティ アプリケーションズ・エンジニアリングマネージャ 高石勇氏)。

 なお、修正支援については、ユーザーが多いEclipse、Microsoft Visual Studioと統合できる。これにより、使い慣れたUIで不具合に関する情報を確認しながら、修正作業を実施できるという。また、中央サーバを使うことで、ほかのメンバーによる修正内容がリアルタイムにソースコードに反映されるため、チーム開発もスムーズに進むという。

 出荷予定は2010年3月末を予定。コベリティ アジアパシフィック マネージングディレクターのリッチ・セルート氏は、「ソースコードの“不具合影響管理ソリューション”は業界初の製品だと認識している。弊社では2009年度、前年比100%の売り上げ実績を記録したが、今後も本ソリューションを通じて、ユーザー企業の開発業務の効率化、品質向上に貢献していきたい」と話している。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ