| Webテクノロジー | 2007年9月20日 12:10 |
|
Coverity、バグ誤認率を下げる新しいコード解析技術を発表 著者: Sean Michael Kerner オリジナル版を読む ▼2007年9月20日 12:10 付の記事 ■海外internet.com発の記事 ソフトウェアのバグを見つけることは容易な仕事ではない。最も広く使われる手法の1つは静的コード解析として知られるもので、これは通常、コードのパスに沿って欠陥を探すデーターフロー解析を含む。問題なのは、データフロー解析そのものが、欠陥でないものを欠陥と誤認してしまう可能性があることだ。 コード解析ベンダーの Coverity は、このような誤認を減らしつつ、さらに多くのバグを発見する解決法があると主張する。鍵となるのは、論理関数を真にする変数値の組み合わせがあるか否かを調べる充足可能性判定 (SAT) の手続きで、これはソフトウェアバグの検証方法に革命をもたらす可能性がある。 Coverity の CTO (最高技術責任者) Ben Chelf 氏は、次のように述べている。「データフロー解析を使えば、パスを100%カバーでき、コード全体のすべてのパスを解析できる。SAT に基づくこの新技術を使えば、値も100%カバーできるので、パスに沿ってすべての可能な変数値と関数値を徹底的に調べることができる」 Chelf 氏は、さらに次のように述べている。「データフロー解析で誤認をしてしまう最大の原因は、コードを実際に実行したときには到達不可能なパスが存在することだ。今や可能になったやり方は、バグの可能性があるすべての条件について SAT ソルバーに問い合わせ、そのパスが到達可能か否かを確認することだ」 同技術の目的は、誤認されたバグに開発者の時間を取られないようにすることと、コード分析をより正確にすることだ。 Coverity は19日に同技術を正式に発表したが、同社ユーザーの間でのテストは以前から実施している。米国土安全保障省 (DHS) との複数年契約の一環として、コードの欠陥を見つけるために分析している複数のオープンソース プロジェクトも、テストの対象に含まれている。Chelf 氏は、これらのオープンソース プロジェクトに対して SAT ソルバーを使った結果、誤認率を30%減少させることができたと述べている。 |
| トップページ | 画面トップ |
|