Coverity Build Analysis(ビルド解析)

  • ソフトウェアのビルドを理解し最適化と速度向上を図るためパフォーマンスを分析します。
  • ソフトウェア整合性の基準を満たす、一貫したポリシーを強制することで、ソフトウェアのビルドをコントロールすることができます。

Coverity Build Analysisはビルド・マネジャーとリリース・マネジャーの2つの部分からなります。これらのモジュールは、ソフトウエアのビルド処理やソース・ファイルの構造、ソース・ファイルの依存関係を図示し、ビルド処理におけるボトルネックや非効率な部分を特定します。そして、ビルド処理の構造やソース・ファイルの依存関係を解析して、ソース・ファイルに施された変更がビルド処理に与える影響を評価します。さらに、品質やセキュリティに問題を引き起こす恐れがあるポリシー違反を検出して、ビルド・ポリシーの適用を徹底します。

ビルド処理上におけるボトルネックの特定

ビルド処理が不安定だと、ソフトウエア開発者や品質保証部門(QA)の生産性を大きく損ねてしまい、開発チームの作業時間を無駄に費やすことになりかねません。Coverity Build Analysisはビルド処理の流れを図で示すので、個々のソース・ファイルのビルド構成に対する理解を深められ、最適化が可能です。また、ソフトウエアのビルド処理を高速化でき、市場投入までの時間を短縮することが可能になります。Coverity Build Analysisでは、次に示す手順に答えることで、ビルド処理の遅さやエラーの根本原因を突き止められます。

  1. ビルド対象のコンポーネントはどれか。
  2. それらは正しいコンポーネントなのか。
  3. どのビルド・プロセスをどの程度の頻度で実行するのか。

ビルドの変更管理

今日の大規模で複雑なソース・コードは、通常加えられる変更に対しても影響を受けやすい状況にあります。あるコンポーネントにわずかな修正を加えただけで、ソフトウエア全体に大きな悪影響を及ぼすことがあります。

Coverity Build Analysisは、ビルド時に実行されるすべてのプロセスとそれに関連するソース・ファイルの依存関係を依存関係マップと呼ぶ図で示します。このマップには、1つのファイルにリンクされるライブラリ・ファイルやオブジェクト・ファイルのほか、別のファイルに影響を与えるファイルがその理由とともに示されます。さらに、実行ファイルの基になるソース・ファイルを正しく認識し、ソース・ファイルに加えた変更が、そのファイルと依存関係にあるライブラリ・ファイルや実行ファイルに与える影響を自動的に解析することと合わせて、ソフトウエア開発者に開発効率向上をもたらします。

セキュリティとコンプライアンスの適用

アプリケーション・ソフトウエアを提供する際は、社内基準か業界標準であるかにかかわらず、それらのコードの検証のための厳しい規則を固く守らなければならないことがよくあります。その際、すべてのコードが実際にテストされたコードであるという証拠が必要です。

ソース・コード管理システムを使うと、ビルド処理にかかわるファイルのリストを監査可能な形式で作成できます。ただし、チェック済みのファイルが実際に特定のビルドに含まれているかどうか、あるいはリストそのものが特定のビルドに対して完全な状態であることを証明することは難しい問題です。Coverity Build Analysisは、ビルド処理を検証して、ビルドを構成するすべてのファイルがテスト済みであることを確認するための監査証跡機能を備えており、基準の適用を徹底することができます。Coverity Build Analysisは、確実に適切なコンパイルを実行するための規則を設定できます。例えば、ディレクトリごとにビルドに含めるよう、あるいは含めないよう設定したり、リンクする、あるいはリンクしないライブラリを指定したり、あらかじめ定義しておいたビルド規則に対する違反を検出したりすることが可能です。