CodeZine(コードジン)

特集ページ一覧

「FindBugs」「Jenkins」をサポートし、不具合検出の幅が大きく広がった静的解析ツール「Coverity Static Analysis 5.5」

開発者によるソースコード解析をサポートし、バグの未検出リスクを軽減

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2011/10/05 11:00

 2011年10月4日、コベリティは、C/C++やJava、C#のソースコード解析ツールの新バージョン「Coverity Static Analysis 5.5」を発表しました。発見が難しく、誤動作の原因となるバグを効率よく検出できる同ツールの新バージョンでは、前バージョンに比べてコード解析速度が向上し、より広範囲な開発環境に対応できるよう強化が施されました。Coverity Static Analysisの特長や新機能から、ソースコード静的解析のメリットについて考えてみましょう。

目次

テストケースの用意は不要。ビルド時に不具合を発見

 「Coverity Static Analysis」は、C/C++やJava、C#の各言語で記述されたソースコードに含まれるバグを検出できるソフトウェア開発支援ツールです。大規模・複雑化するソフトウェア開発において、ソースコードの不具合は、出荷遅延や修正対応による新規開発の遅れ、品質低下、テストの煩雑化などさまざまな影響を及ぼします。

 ソフトウェア開発におけるテストは、セキュリティテスト、機能テスト、パフォーマンステストなどさまざまなものがありますが、これらは開発工程(コーディングやユニットテスト)と出荷/運用工程との間に行われることが多いと思います。テスト工程でさまざまな不具合が発見されれば、開発工程に手戻りが発生し、出荷や運用は遅れてしまいます。そこでコベリティでは、不具合の早期発見による開発期間の短縮やコストの削減のため、開発段階で不具合を発見できる環境を提供すべく、次世代静的解析ツールであるCoverity Static Analysisの開発および販売を行っています。

 このツールは、既存のビルドシステムと連携して動作するため、開発者がビルドごとに解析することも可能です。そのため、開発の早期段階で重大な不具合を検出・共有・修正し、出荷・運用開始後に発生するリスクの軽減が期待できます。解析は、コベリティの解析エンジンがソースコードを擬似的に実行することにより不具合を検出するので、解析のために開発者がテストケースを用意する必要はありません。不具合の検出は、開発チームにおけるコーディングルール違反や無害な変数初期化忘れなどの指摘ではなく、リソースリークやメモリ破壊といった実行時に深刻な結果を引き起こす不具合の発見に強みを発揮します。コベリティでは、このツールが数百人規模で開発を行うような大規模なコードをサポートし、高い検出精度を提供しています。

 Coverity Static Analysisでは、不具合の内容とそれが及ぼす影響を容易に把握するための不具合管理サーバー「Coverity Integrity Manager(CIM)」が用意されています。開発者は、CIMを利用することで解析後、不具合のレビューや優先順位付け、進捗の管理を行うことができます。Coverity Static Analysisの実行環境は、1日あれば、セットアップが可能です。事前準備として、コンパイラの設定とCIMサーバの設定が必要となります。具体的な利用手順については次ページから紹介していきます。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 森 英信(モリ ヒデノブ)

    スマホアプリやWebサイト、出版物といったコンテンツの企画制作を手がける株式会社アンジーの代表。写真加工アプリ「MyHeartCamera」「PicoSweet」など、提供するアプリは1100万以上のインストールを獲得。2019年にはAR(拡張現実)プログラムに関する特許を取得。自身はIT関連の取材...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5