ソフトウェア整合性の向上

ビルドシステムは、ソフトウェア開発における重大な障害点になることがよくあります。ビルドに時間がかかったり、エラーが起こりやすかったりすると、ソフトウェアアプリケーションの市場への導入が遅れ、大きな損害が生じかねません。このような品質上の欠陥がなくならないのは、ビルドエンジニアや開発者が、ビルドが常にソフトウェアの整合性の標準に適合していることを確認するのに必要なビジビリティ(可視性)を備えていないからです。コベリティのビルド解析機能があれば、ビルド内のブラックボックスを開き、その細部を可視化させ、ソフトウェアビルドを自由に管理できるようになります。このビルド解析では次のことが可能になります。

  • 不適切なオブジェクトファイルが不正に、または誤って使用されたことによる欠陥の除去
  • ファイルアクセス違反やファイルの漏れの検知
  • プロセス起動の不必要な重複の発見

開発者の生産性の改善

開発チームが必要な可視化性を実現すれば、各ビルドの構成の理解と最適化が可能になります。ビルドが不安定で壊れやすいと開発者の生産性が大きく低下し、開発組織全体の損害となります。ソフトウェアのビルド時間をスピードアップすれば、製品の出荷もスピードアップできます。エンジニアはビルドの遅さや不具合の根本原因を特定できるだけでなく、ビルドの全体的な整合性を評価し、重要な疑問への答えも見つけられるようになります。例えば、アセンブリされたコンポーネントは何か、それは適切なコンポーネントか、適切なファイルがすべてチェックインされたか、どのプロセスが何度実行されたかといった疑問です。また、ビルド解析を使って、適切なコンピレーションフラグを使用し、ビルドに含めるべきでないディレクトリやライブラリを包含するか除外するかを確定するためのルールを設定することもできます。開発者やビルドエンジニアがこうした価値ある情報を利用することで、開発チームの生産性が向上し、より効率的なビルドプロセスを実現できます。開発チームはビルド解析機能を用いて以下のことを実現できます。

  • ビルドプロセスへの必要なビジビリティ(可視化性)の確保によってソフトウェアビルドを自由に管理
  • ビルドの遅さの根本原因の特定と除去
  • ビルドエンジニアと開発者の効率性の飛躍的向上

変更管理

今日の大規模で複雑なコードベースは、頻繁に変更が繰り返されることによる障害を特に受けやすくなっています。あるソースコードコンポーネントに「マイナーな」修正を加えるだけで、ソースコードプロジェクト全体に派生する重大な不具合が起こる場合があります。ビルド解析を使えば、ビルド中に実行されるすべてのプロセス全体のマップを作成し、変更の影響を管理することができます。このマップ上では各プロセスについて、そのプロセスに入力されるすべてのインプットファイルと、そのプロセスによって生成されるすべてのアウトプットファイルの完全なセットが含まれます。このマップで、ソフトウェア生産プロセス全体のファイルとプロセスの粒度を示す依存関係ツリーを参照することができます。開発チームはコベリティのビルド解析を用いて以下のことを実現できます。

  • ビルド中に実行される全プロセスのマップ化
  • 依存関係に対する包括的な可視化性の獲得
  • 変更が実際に反映されていることを検証

セキュリティとコンプライアンスの確保

変更管理の問題に関連し、規制産業の開発チームは検証・認証ソフトウェアの厳格なルールに従わなくてはならない場合も多いものです。つまり、変更を厳密にテストし、出荷されるアプリケーション内のすべてのソースコードが実際にテスト済みであることを証明することが求められます。ソースコード管理(SCM)システムを使えばビルドを構成するファイルの検査可能なリストを生成できます。しかし、チェックアウトされたファイルが本当に特定のビルドに含まれるファイルであることや、そのリスト自体が特定のビルドの完全なリストであることが不確定です。そこで、 コベリティのビルド解析を用いれば、以下のことを実現できます。

  • コンポーネントが正しく使用されているかを確認するための包括的なBOM(部品表)の生成
  • 内部ソースコードとオープンソースコードの使用の検証・認証
  • コンプライアンス要件に適合するために必要なデータの生成

コンポーネント化

多くの組織では、ソフトウェアの効果的な再利用を確実に行うためのコンポーネント化を推進しています。ビルド解析を利用すれば、サードパーティ製やオープンソースのコンポーネントも含めて、ビルドの一部である各ソフトウェアコンポーネントの整合性を判定することができます。アプリケーション内の各コンポーネントの整合性を隅々まで可視化できれば、ビルドの正確性が向上します。ライブラリコンポーネントやjarファイルなどのビルドアーティファクトが不必要に再ビルドされてテスト環境に送られ、余計な再テストが必要になるような事態を避けることもできます。エンジニアはビルド解析機能を用いて以下のことを実現できます。

  • パッケージとコンポーネントの関連づけ(サードパーティ製やオープンソースを含む)
  • 全コンポーネントのインテグリティ標準への適合性の確認
  • 生産のスピードアップと不要なコンポーネント再テストの削減

Build Analysisによる開発サイクルの短縮と信頼性の高い確かな品質のソフトウエアの開発の支援の詳細については下記へ、Eメールまたは電話でお問い合わせください。

Eメール

japan_sales@coverity.com

電話

03-5909-8838

Teradata - static code analysis by Coverity Inc