VectorCAST/Coupling

DO-178対応のデータカップリングおよびコントロールカップリング検証の自動化

カップリング検証は、DO-178BおよびDO-178Cの両方において、セーフティクリティカルな航空機搭載ソフトウェアに求められる必須要件です。VectorCAST/Couplingは、まず静的解析によってカップリングを特定し、その後、アプリケーション実行時に動的に検証することで、これらの要件に対応します。

VectorCAST/Couplingは、既存のVectorCAST/QAプロジェクトまたはVectorCAST Cover環境内で動作します。個別のセットアップは必要ありません。静的解析および実行時解析はいずれも、ユーザーが定義したソフトウェアコンポーネントを対象に実施されます。ソフトウェアコンポーネントとは、1つまたは複数のC/C++ソースファイルで構成される単位です。

VectorCAST/Couplingの適用分野

VectorCAST/Couplingは、DO-178BまたはDO-178Cに準拠する航空機搭載ソフトウェア開発プロジェクトで、Design Assurance Level(DAL)A、B、またはCに対応する検証エンジニアおよびソフトウェアリード向けのソリューションです。利用には既存のVectorCAST/QA環境が必要です。

DO-178におけるカップリング要件

DO-178Cでは、検証対象となるカップリングとして以下の2種類が定義されています。

データカップリング(Data Coupling)

あるソフトウェアコンポーネントが、そのコンポーネント自身だけでは制御できないデータに依存する関係。

(DO-178C Annex B 用語集)

コントロールカップリング(Control Coupling)

あるソフトウェアコンポーネントが、別のソフトウェアコンポーネントの実行に影響を与える方法またはその程度。

(DO-178C Annex B 用語集)

DO-178BからDO-178Cで強化された要件

DO-178Bでは、データカップリングおよびコントロールカップリングが設計どおりに存在することの確認が求められていました。

DO-178Cではさらに要件が強化され、要求ベーステストによってデータカップリングおよびコントロールカップリングが実際に検証されたことを示す必要があります。

DO-178CのDAL A、B、またはCへの適合には、以下の3点を証明しなければなりません。

  • データカップリングおよびコントロールカップリングが要求事項および設計意図に適合していること
  • 要求ベーステスト実行後に、データカップリングおよびコントロールカップリングのカバレッジ解析が実施されていること
  • 動的カバレッジ解析が実施されていること(静的解析のみでは不十分)

VectorCAST/Couplingは、これら3つの要件すべてに対応します。

VectorCAST/Couplingのメリット

  • 手作業では煩雑な解析を自動化

    C/C++コードベース全体にわたるカップリングの特定と検証を手作業で行うことは、多くの工数を要し、ミスも発生しやすくなります。VectorCAST/Couplingは、静的なカップリング特定と実行時検証の両方を自動化し、大幅な工数削減と精度向上を実現します。

  • 既存のVectorCAST環境をそのまま活用

    VectorCAST/Couplingは、既存のVectorCAST/QAプロジェクトまたはVectorCAST Cover環境に直接統合されます。専用の環境構築や並行運用のためのインフラは必要ありません。

  • DO-178Cの動的解析要件に対応

    静的解析だけでは、DO-178Cのカップリング検証要件を満たすことはできません。VectorCAST/Couplingは、適合性を証明するために必要な実行時検証機能を提供します。

  • 監査対応レポートを自動生成

    Coupling Coverage Report、Coupling Access Order Full Report、および Coupling Access Order Error Report を自動生成します。これらのレポートは認証レビューで利用しやすい構成になっています。

動作の仕組み

カップリング解析の目的は、実装におけるアーキテクチャコンポーネント間の制御フローおよびデータフローが設計意図どおりであること、さらに、それらのフローがテストによって実際に検証されていることを証明することです。VectorCAST/Couplingは、2段階のプロセスを通じてこれを実現します。

フェーズ1:静的解析

VectorCAST/Couplingは、CまたはC++ソースファイルに対して静的解析を実施し、定義されたソフトウェアコンポーネント間のデータカップリングおよびコントロールカップリングを特定します。コンポーネントとは、ユーザーが定義する1つまたは複数のソースファイルの集合です。静的解析の結果として生成される Component Report には、各コンポーネントに含まれるグローバルデータオブジェクトおよび関数が一覧表示され、カップリングマップの基礎情報が作成されます。

フェーズ2:実行時検証

アプリケーション実行中、VectorCAST/Couplingは特定されたカップリングに対してインスツルメンテーションを適用し、それらが設計どおりに動作していることを検証します。実行結果は収集され、静的解析によって作成されたカップリングマップと照合されます。この動的検証こそが、静的解析だけでは満たせないDO-178Cの要求事項に対応するための重要な要素です。

カップリングカバレッジレポート

VectorCAST/Couplingは、検証および監査プロセスで異なる目的を持つ3種類のレポートを生成します。

カップリングカバレッジレポート

静的解析と実行時解析の結果を統合し、アプリケーション全体におけるカップリングカバレッジを俯瞰できるレポートです。各コンポーネントのグローバルデータオブジェクトおよび関数を一覧表示するコンポーネントレポートも含まれます。

カップリングアクセス順詳細レポート

すべてのカップリングについて、テスト結果ごとのアクセス順序を表示します。ソフトウェアアーキテクチャがすべてのテストで正しく実装されていることを確認でき、カップリング動作の完全なカバレッジを証明するために利用されます。

カップリングアクセス順エラーレポート

エラーが発生したカップリングのみを対象に、テスト結果ごとのアクセス順序を表示します。検証エンジニアは、すべての結果を確認することなく、アクセス順序違反を効率的に特定できます。

よくあるご質問

ご不明な点はお気軽にお問い合わせください
Andreas Horn
ご不明な点はお気軽にお問い合わせください
ご質問やご要望がございましたら、お問い合わせフォームよりご連絡ください。担当者よりご回答いたします。

関連ページ

VectorCAST/QA

ビルドプロセスを変更することなく、C、C++、Adaのコードベース全体にわたるコードカバレッジおよび品質メトリクスを収集します。

VectorCAST/C++

C/C++対応の自動された単体/結合テスト。MC/DCカバレッジ、テストハーネスの自動生成、およびホスト環境からターゲット環境までのテスト実行機能を提供します。

VectorCAST/Ada

Ada 83からAda 2012までに対応したAdaソフトウェアコンポーネント向けの自動単体/結合テストソリューションです。ドライバーおよびスタブを自動生成し、組み込みターゲット上でのテスト実行もサポートします。

VectorCAST製品ファミリー

C、C++、Adaで開発された高い安全性が求められる組み込みソフトウェア向けに、単体テスト、結合テスト、およびコードカバレッジテストを自動化します。

PC-lint Plus

PC-lint Plusは、CおよびC++開発向けに高度な静的解析と幅広いコーディング規約・安全規格への対応を提供します。MISRAからISO 26262まで、問題を早期に検出し、すべての抑制設定を監査し、品質を裏付けられるコード開発を支援します。

コードテストハブ

PC-lint Plus、VectorCAST、およびSquoreは、高い安全性が求められる組み込みソフトウェア向けに、静的解析、動的テスト、および継続的な品質モニタリングを提供します。PC-lint Plusはexida、VectorCASTはTÜVによる認証を取得しており、ISO 26262、DO-178C、IEC 61508、およびIEC 62304に対応しています。