Comments
Description
Transcript
Coverity Static Analysis
Coverity Static Analysis 最高品質のソフトウェア開発を実現 Coverity Static Analysisは、開発ライフサイクルの早期段階で、最高品質で 信頼性の高いソフトウェアを保証する優れた自動化ツールです。今日利用でき る静的コード解析ソリューションとして最も精度の高いStatic Analysisは、 コードに変更を加えたりシステムをビルドすることなく、C/C++、Javaおよ びC#ソースコードを自動的に解析します。ビルド環境とソースコードを完全 に理解しているStatic Analysisは、柔軟で、深部に及ぶ正確なソースコード 解析が必要な開発者に最適なツールです。 世界中の何百もの開発組織で採用されているStatic Analysisは、大量の複雑な コードを自動的に解析して、システム障害、実行時例外、セキュリティ脆弱性、お よびパフォーマンス低下につながる、修正が必要で重大な欠陥を検出します。 顧客の多くは、医療機器製造、航空宇宙・防衛技術、ネットワーキングインフ ラストラクチャ、ストレージシステム、自動車製造、金融サービスなど、ソース コードのセキュリティと信頼性への要求が厳しい業界に属しています。これ らの企業は、ソフトウェアの不具合がどのような深刻な結果をもたらすか、ま たコードの品質がどれほど重要かをよく理解しており、高品質ソフトウェア の開発を実現すべく、Coverity Static Analysisを使用しています。 Static Analysisは高度な技術を駆使することで、現時点で最も正確で包括 的な静的解析を実現し、業界で平均誤検出率が最も低い静的解析ツールで す。Static Analysisは、コンパイラの呼び出しだけでなく、ビルドを統一表 示できるSoftware DNA Map TM 解析システムを唯一提供し、開発者はソー スコード全体を完全かつ正確に把握できます。 Coverity Static Analysisの利点: ・データ破壊とアプリケーション不具合の原因となる重大な欠陥を検出 ・開発チームの作業効率を高め、重要なアプリケーションの市場投入にかか る時間を短縮 ・ソフトウェアの完全性とエンドユーザーの満足度向上に貢献 Static Analysisは柔軟性に富み、既存のプロセスに適合できる設計となっ ています。ソースコード管理やバグ追跡システムと統合できるほか、カスタマ イズ可能なワークフローによって、欠陥を修正するための共同作業プラットフ ォームも提供しています。Coverity Static Analysisは開発サイクルの早期 段階で重大な欠陥を検出し、開発チームが重要なアプリケーションの市場投 入を早めるのを助け、コスト削減にも貢献します。また、Coverity Dynamic Analysisなどの動的解析ツールと組み合わせると、強力なソフトウェア品質 管理ソリューションとなります。 Coverity Static Analysisの機能: 高信頼性ソフトウェア開発を実現する3つのステップ プログラミング形式と構文ベースのチェックに重点を置く他のソースコード 解析ツールとは異なり、Static Analysisでは高度で細部に及ぶ解析手法を駆使 し、多くの開発者が重要視する、修正が必要な欠陥を検出します。パスシミュレ ーション(データフロー解析)とブール充足可能性(SAT)ソルバーを唯一提供 し、コードおよび実行パスを100%カバーすることにより深部に及ぶ正確な静 的解析を実現し、誤検出率を5%にまで抑えることに成功した顧客もいます。 重大な欠陥を排除し、 ソフト ウェアの 完 全 性 を高めます Static Analysisの優れた技術を 使用した主な機能: 高精度の解析 Static Analysisは最も正確で信頼性の 高い結果が得られる静的解析ツールとし て、市場で最も低い、平均誤検出率を維持 し、その平均は15%を下回っています。 100%のパスカバー率 Static Analysisはソースコードのパス を100%解 析し、可能性のある実 行ブ ランチをすべて追跡する一方で、可能性 のないパスを除去します。 スケーラビリティと統合力 Static Analysisは数時間で何百万行 ものコードをスキャンします。開発プロ セスを中 断 せずに、通常のビルドプ ロ セスに簡単に統合できます。 柔軟性の高いワークフロー Static Analysisを使 用すると、開発 者は自分のデスクトップ、または中央の ビ ルドシステムでコード を 解 析で きま す。また、Defect Managerを使 用す ることで、開 発 チ ームは 瞬 時に欠 陥を 把握し、責任者を割り当てて、カスタマ イズ 可能なワークフローを通じて解決 できます。 広範なチェッカー Static Analysisのチェッカーは、シス テムクラッシュ、メモリリーク、メモリ 破壊、予期しない動作を引き起こす、修 正が必要である重大な品質欠陥および 並列処理欠陥だけでなく、バッファオー バーフローやコマンドインジェクション 攻撃 などのセキュリティ脆 弱 性も 検 出 するように設計されています。 1.Software DNAのマッピング ソース コ ード上 のすべ ての 操 作 を 自 動 的 に 完 全 表 示 で きる 高 度 な 技 術 を 備 えて い る の は Coverity Static Analysisだけです。Coverityの Software DNA Map解析システムを使用する と、ビルドシステムの最深部まで徹底的に見通す ことができるため、開発者は実行可能ファイルの 生成に使用されたすべての関連ソースコードデー タを正確に統一表示できます。ソースコードを正 確に表示することは、高品質なソフトウェア開発 実現への第一歩となります。 Coverityの3段階のプロセスは、重大なソフトウェア欠陥を検出し除去するため の包括的な手法です。 2.重大な欠陥を特定 Software DNA Map解析システムで生成された包括的なデータを活用し、いくつもの高度な技術を駆使して、開発サイク ルの早期段階で重大な品質欠陥、セキュリティ欠陥、および並列処理欠陥を検出します。 ・パスシミュレーションおよびプロシージャ間解析− パ スシミュレーションではソースコード上のすべての関 数の 制 御フローを 追 跡 できるので、すべての 値とデータパ スを 100%シミュレーションし、リソース割り当て、ポインタ操作、バッファや文字列の使用状況、および不正確なデータ処理に関 する欠陥を幅広く検出できます。プロシージャ間解析では、各関数の効果を要約することで、ファイルおよびモジュール全体 の深部まで複雑なコールチェーンを確認できます。プロシージャ間解析で、仮想関数呼び出しも解決でき、オブジェクト指向 のソースコードを深部までカバーします。統計解析エンジンは、ソースコード全体の動作パターンを追跡します。このため、こ れまでに監視した動作に基づいて適切な動作を推測できます。さらに、フォールス パス プルーニングは、各ブランチの状態 を解明し、現在のパスでtrueかfalseかunknownかを調べます。このため、誤検出を効率的に排除し、約15%の平均誤検出 (FP)率を実現しています。 ・ブール充足可能性(SAT)− 電子設計オートメーション(EDA)会社がデジタル回路の設計に長年使用してきた手法ですが、Coverityはこの手法をC/ C++静的解析ツールに初めて採用しました。Coverityの画期的な技術は、最初にSoftware DNA Mapからビット精度表現 を作成します。次に、関連するあらゆる操作がブール変数(trueと falseの値を持つ変数)とブール演算子(AND、NOT、OR) で構成されるブール式に変換され、さらにSATソルバーで解析するための式に変換されます。SATエンジンを使用すること で、複雑な条件の組み合わせが関与するフォールスパスが除去され、整数オーバーフローなどの重大な算術演算上の問題が検 出されるため、検査の正確さが大幅に向上します。 3.欠陥の解決 欠陥を特定するだけでは十分とはいえません。開発者は最高品質のソフトウェアを開発するために、Static Analysisの静的解 析データを使用し、欠陥を解決する必要があります。Static AnalysisのわかりやすいDefect Managerインターフェイスを使用 すると、欠陥をすばやく理解でき、責任者を割り当てて、カスタマイズ可能なワークフローを通じて解決することができます。 解析結果はDefect Managerに表示され、新しい欠陥が検出されるたびに責任者を自動的に割り当てて、電子メールで通知 することができます。 欠陥ごとに完全なパス情報が表示されるので、開発者はエラーの根本原因をすばやく突き止めることができます。また、解 析エンジンがエラー検出に使用したロジックに関する情報もソースコードに直接表示されます。正確な相互参照を通じて、す べての変数および関数の宣言と使用状況にアクセスできるので、エラー診断がさらに簡単になります。現在、および過去の欠 陥のステータスに関する最新情報が記載された実用的なレポートにより、コードの品質を瞬時に認識できます。 Coverity Static Analysisの柔軟なインターフェイスで、開発チームは欠陥の優先順位を付けそ の修正を割り合て欠陥修正状況をトラッキングできます。 特長 並列処理チェッカー Static Analysisで、他に類のない解析精度および解析の深さ Static Analysisには今日の複雑なマルチスレッドアプリケー を実現でき、その高度な機能により既存の開発プロセスへ簡単 ションに対応した並列処理チェッカーが備わっているので、開 に統合させることができます。 発者はデータ破壊やシステム障害を引き起こすデッドロックや Software DNA Map™ 解析システム 競合状態を排除できます。 CoverityのSoftware DNA Map解析システムは、ビルドシス 統計解析およびプロシージャ間解析 テムを監視し、記録します。さらに、深部に及ぶ正確な静的解 開発者にとって重要なクラッシュの原因となる欠陥を検出する 析に適した包括的なコード表現を作成します。 ため、Static Analysisは統計解析を使用して、ソースコード 自動欠陥検出 を追跡した動作パターンに基づいて適切な動作を推測し、関 し、メモリ破壊、エラー、実行時例外、セキュリティ脆弱性、 ジャ間(プログラム全体)の解析を実行します。 Static Analysisはコードベース全体を完全に自動スキャン 数、ファイル、モジュールの境界を超えて深部に及ぶプロシー 並列処理欠陥、パフォーマンス低下などの、修正が必要な欠陥 誤検出率の低さ を特定します。 Static Analysisの高度な解析エンジンは、各言語とエラータイプ Defect Manager に特有のセマンティックスおよびイディオムを考慮し、慎重に誤 開発プロセスを反映したカスタマイズ可能なワークフローを通 によっては誤検出率を5%に抑えられたという報告もあります。 包括的なワークフロープラットフォームの採用により、既存の 検出を回避します。平均誤検出(FP)率は約15%と低く、顧客 じて、共同で簡単に欠陥の表示、優先順位決定、解決ができる 電子メール通知 ようになりました。Webベースのインターフェイスにより、開 検査で新しい欠陥が見つかると、欠陥の存在とそのバグに関す 発者は時と場所を選ばずに欠陥を修正できます。 る主な情報を知らせる電子メール通知が自動配信されます。 ローカル解析と集中解析 LDAP統合 ェックの前後に中央のビルドシステムまたは自分のデスクトッ 認証手順に簡単に適合できます。 プで、ローカルにコードを解析できます。このため、夜間にビ ビルド統合 Static Analysisを使用し、開発者は、ビルドシステムでのチ ルドした後で欠陥を修正し、中央のサーバーと同期をとること ができます。 ブール充足可能性(SAT) この画期的な解析エンジンは、C/C++ソースコードをブール 値に基づいた表現に変換し、SATソルバーを適用してパスが実 行可能かどうかを決定することで、正確に欠陥を検知し、低い 誤検出率を実現します。この画期的な技術にさらなる精度を付 加した製品はStatic Analysisだけです。 Static Analysisはユーザーの集中管理が必要な組織の既存の Static Analysisはシステムを変更したり開発プロセスを中断 することなく通常のビルドシステムにシームレスに統合でき、 ハードウェアを追加する必要もありません。 レポート グラフィカルなレポーティング機能により、コード品質および 現在と過去の欠陥に関する最新情報を瞬時に把握でき、管理者 は、品質目標達成に向けた進捗状況の査定に必要なすべての情 報を入手できます。 サポート環境 Coverity Static Analysis for C/C++ サポートされているプラットフォーム サポートされているコンパイラー Windows XP 2003 Linux Solaris HPUX Mac OS X FreeBSD NetBSD gcc, g++ Microsoft Visual C++ Sun C/C++ AR M Wind River TI Code Composer Green Hills Freescale/Nokia CodeWarrior IAR HI-TECH PICC Intel C/C++ HPUX aCC Marvell MSA Freescale/Cosmic Compiler Renesas HS8 Version 6.1 他のANSI C/C++のサポート 互換性のあるコンパイラーは、 リクエストがあればご提供します。 サポートされているIDE システム要件 Eclipse 3.2以降 EclipseのIDEは以下の通りです。 AR M IBM Rational Mentor Graphics Nokia QNX Telelogic WindRiver CPU: 1GHz R AM: 最小1 GB,2GBを推奨 ハードディスクの空き領域:1GB Coverity Static Analysis for Java サポートされているプラットフォーム サポートされているIDE Windows XP, 2003 Linux Solaris Mac OS X Eclipse 3.2,3.3 IBM RationalといったEclipseベースのIDE Borland/Application Developer 7.0, JBuilder2007 システム要件 JDK 1.4以降 CPU: 1GHz (x86 or SPARC) R AM: 最小1GB 2GB推奨 ハードディスクの空き領域:1GB Coverity Static Analysis for C# サポートされているプラットフォーム サポートされているコンパイラー Windows XP, 2003 Microsoft Visual Studio 2003, 2005, 2008 システム要件 CPU: 1GHz R AM: 1.5GB,2GB推奨 ハードディスクの空き領域:2GB オンサイトトライアル クラッシュの原因となるソースコード上のさまざまな欠陥を数時間で検出できるStatic Analysisを無料でご試用いただ けます。コード変更も不要で、コードの大きさに制限はありません。詳細な解析結果レポートを無料でご提供いたしま す。ご希望の方は、http://www.coverity.com/html_ja/free_trial.phpでお申し込みください。担当からご連絡さ せていただきます。 Coverity, Inc.(コベリティ インク)について コベリティは、米 国サンフランシスコに本 社をおくソースコード解 析ツール 会 社です。ソフトウェアの 開 発 工 程 の 初 期段 階で、重 大なソフトウェア不 具合およびセキュリティの脆 弱 性を自動 的に解 析、検 出するコベリティの画 期 的 な 技 術 は 、ますます 複 雑 化 するソフトウェア 開 発 を 効 率 的に行うサ ポートをしています。コ ベリティ社 の 製 品 は、何千万行ものコードに対応するだけでなく、フォールスポジティブ 率(誤 検 知率)が 非常に低く、100% のパス をカバーしており、すでに700 社を 超 える有力 企 業 が 導入しています。おもな 顧 客には、サムスン、Symantec/ VERITAS、日本電気、ACCESS、Wind Riverなどがあり、コベリティ製品を利用して、ミッションクリティカルな コードのセキュリティや品 質における不 具合を検出し、品 質の向上、開発 の 効率化に役 立てています。同社の詳 細 は、http://www.coverity.com/index _ jp.htmlでご覧ください。 コベリティ 日本支社 〒163-0510 東京都新宿区西新宿1-26-2 新宿野村ビル10階 TEL:03-5909-8838 E-mail: [email protected] Website: http://www.coverity.com/index_jp.html Coverity, Inc. 米国本社 185 Berry Street, Suite 1600 San Francisco,CA 94107 USA E-mail: [email protected] Website: http://www.coverity.com http://scan.coverity.com Coverity は Coverity, Inc. の登録商標です。その他の会社名および商品名は各社の商標または登録商標です。