テストケースの用意は不要。ビルド時に不具合を発見
「Coverity Static Analysis」は、C/C++やJava、C#の各言語で記述されたソースコードに含まれるバグを検出できるソフトウェア開発支援ツールです。大規模・複雑化するソフトウェア開発において、ソースコードの不具合は、出荷遅延や修正対応による新規開発の遅れ、品質低下、テストの煩雑化などさまざまな影響を及ぼします。
ソフトウェア開発におけるテストは、セキュリティテスト、機能テスト、パフォーマンステストなどさまざまなものがありますが、これらは開発工程(コーディングやユニットテスト)と出荷/運用工程との間に行われることが多いと思います。テスト工程でさまざまな不具合が発見されれば、開発工程に手戻りが発生し、出荷や運用は遅れてしまいます。そこでコベリティでは、不具合の早期発見による開発期間の短縮やコストの削減のため、開発段階で不具合を発見できる環境を提供すべく、次世代静的解析ツールであるCoverity Static Analysisの開発および販売を行っています。
このツールは、既存のビルドシステムと連携して動作するため、開発者がビルドごとに解析することも可能です。そのため、開発の早期段階で重大な不具合を検出・共有・修正し、出荷・運用開始後に発生するリスクの軽減が期待できます。解析は、コベリティの解析エンジンがソースコードを擬似的に実行することにより不具合を検出するので、解析のために開発者がテストケースを用意する必要はありません。不具合の検出は、開発チームにおけるコーディングルール違反や無害な変数初期化忘れなどの指摘ではなく、リソースリークやメモリ破壊といった実行時に深刻な結果を引き起こす不具合の発見に強みを発揮します。コベリティでは、このツールが数百人規模で開発を行うような大規模なコードをサポートし、高い検出精度を提供しています。
Coverity Static Analysisでは、不具合の内容とそれが及ぼす影響を容易に把握するための不具合管理サーバー「Coverity Integrity Manager(CIM)」が用意されています。開発者は、CIMを利用することで解析後、不具合のレビューや優先順位付け、進捗の管理を行うことができます。Coverity Static Analysisの実行環境は、1日あれば、セットアップが可能です。事前準備として、コンパイラの設定とCIMサーバの設定が必要となります。具体的な利用手順については次ページから紹介していきます。