機能安全と業界標準
あらゆる機能安全標準は、リスク分類システムを基盤として構築されています。この分類により、潜在的な危害の重大度が決定され、ソフトウェアに相応する完全性レベルが割り当てられ、そのレベルに見合った検証活動が義務付けられます。 具体的な用語は業界によって異なりますが(ISO 26262におけるASIL、DO-178CにおけるDAL、IEC 61508およびEN 50716におけるSILなど)、検証の要件は一貫しています。すなわち、要件に基づくテスト、構造的カバレッジの測定、ツールの適格性評価、および文書化されたトレーサビリティです。
ISO 26262:自動車
ISO 26262は、道路車両の電気/電子システムの機能安全に関する国際標準です。2018年に発行された第2版は、乗用車、トラック、バス、特殊車両、およびオートバイに適用されます。
各開発プロジェクトは、ハザード分析およびリスクアセスメント(HARA)から始まり、これにより安全関連機能の自動車用安全度水準(ASIL)が決定されます。ASILはA(残存リスクが最も低い)からD(残存リスクが最も高い)までの範囲があり、安全非関連ソフトウェアについては品質管理(品質管理のみ)が適用されます。
検証要件はASILに応じて段階的に設定されます。ASIL Dでは、ステートメント、分岐、およびMC/DCのカバレッジがすべて要求されるほか、双方向の要件トレーサビリティと構造化された単体テストも求められます。ASILレベルが低いほど、カバレッジ基準や推奨される手法は段階的に緩和されます。
ISO 26262 に対するベクターツールの対応
- PC-lint Plusは、exida社よりISO 26262:2018のASIL A~Dについて認証を受けています
- VectorCASTのカバレッジ測定は、すべてのASILレベルにおいてTÜVの認証を受けており、「Industry Mode」ではASILごとに適切なカバレッジ基準が自動的に選択されます
- Squoreは、MISRAの検出結果、テスト結果、カバレッジ指標など、ツールチェーン全体からのISO 26262準拠データを集約します
DO-178C:航空宇宙
DO-178C『航空機搭載システムおよび機器の認証におけるソフトウェアに関する考慮事項』は、商用ソフトウェアベースの航空宇宙システムの承認に関する主要な標準です。RTCAとEUROCAEが共同で発行したこの標準は、2012年にDO-178Bに取って代わりました。
DO-178Cでは、開発保証レベル(DAL)として、A(壊滅的な故障結果)からD(軽微な結果)までが定義されています。開発プロセスの核心となるのは、要件ベースのアプローチであり、高レベル要件および低レベル要件から、ソースコード、実行可能オブジェクトコード、テストケース、プロシージャ、結果に至るまで、完全な双方向のトレーサビリティが確保されています。
レベルAのソフトウェアでは、すべての決定事項についてMC/DCカバレッジが求められます。これは、あらゆる標準の中でも最も厳しい構造的カバレッジ要件の一つであり、VectorCASTのMC/DC自動化機能の重要な原動力となっています。
DO-178C に対するベクターツールの対応
- VectorCAST:MC/DCを含むTÜV認定のカバレッジ測定、Requirements Gatewayによる双方向の要件トレーサビリティ、すべてのDALレベルに対応した認証対応レポート
- Squore:プロジェクト全体にわたる要件カバレッジのモニタリングおよび完全性の追跡
IEC 61508:産業用
IEC 61508は、プログラマブルエレクトロニクスシステムの機能安全に関する基礎的な国際標準です。この標準は、工場制御システム、化学プラントのプロセスオートメーション、および業界固有の標準の対象外となるその他の安全関連のプログラマブルシステムを含む、産業用アプリケーションを規定しています。
IEC 61508は7つのパートで構成されています。パート3ではソフトウェア要件を扱い、検証および妥当性確認を含むソフトウェアの安全ライフサイクルを定義しています。この標準では、SIL 1からSIL 4までの安全度水準(安全度水準)が定義されています。SIL 2以上では、認定ツールの使用が強く推奨されています。SIL 3およびSIL 4では、実質的に準拠のために必須となります。
また、IEC 61508は、ISO 26262、EN 50716、およびその他のいくつかの業界固有の標準の基礎となっています。
IEC 61508 に対するベクターツールの対応
- PC-lint Plus:exida社により、IEC 61508:2010に基づくSIL 1からSIL 4までの認証を取得(SIL 4認定済み)
- VectorCAST:TÜV認定のカバレッジ測定機能を搭載しており、「Industry Mode」ではSILレベルごとに適切な基準を選択します
IEC 62304:医療デバイス
IEC 62304は、医療デバイスのソフトウェアライフサイクルプロセスを規定しています。この規格では、ソフトウェアコンポーネントを3つの安全クラスに分類しています。クラスA(負傷や損害の可能性がない)、クラスB(軽微な負傷の可能性がある)、クラスC(重篤な負傷や死亡の可能性がある)です。
検証要件はクラスに応じて異なります。クラスCのソフトウェアには、構造的カバレッジ測定を伴う単体テストや要件のトレーサビリティなど、最も厳格な検証活動が求められます。患者の安全に影響を及ぼす可能性のあるソフトウェアコンポーネントはすべて、適切に特定、分類、および検証されなければなりません。
IEC 62304 に対するベクターツールの対応
- PC-lint Plus:exida社によるIEC 62304認証を取得
- VectorCAST:クラスBおよびクラスCのソフトウェアコンポーネントに対し、要件ベースのテストおよび構造的カバレッジをサポートしています
EN 50716:鉄道
EN 50716:2023は、鉄道用途における安全上重要なエレクトロニクスシステム向けのソフトウェアを規定する規格であり、EN 50128:2011およびEN 50657:2017に取って代わるものです。この規格はIEC 61508に基づいており、鉄道のシグナリング、コントロール、保護、および車両用途の特定の要件に合わせて調整されています。 ソフトウェア完全性レベル(SIL)は、SIL 0 から SIL 4 まであります。SIL 4 では、MC/DC カバレッジが要件です。
EN 50716 に対するベクターツールの対応
- PC-lint Plus:exida認定
- VectorCAST:EN 50716:2023に準拠したTÜV認定のカバレッジ測定機能を備え、SIL 4準拠のためのMC/DCに対応しています
IEC 60880:原子力
IEC 60880:2006は、原子力発電所においてカテゴリーAの安全機能を行う、コンピュータベースの計装・制御システム用のソフトウェアを対象としています。本標準は、ソフトウェアライフサイクルのすべての活動に関する要件を規定しており、その適用範囲はIEC 61508の第3部に類似しています。検証要件には、要件に基づくテスト、MC/DCを含む構造的カバレッジ測定、およびソフトウェアライフサイクル全体にわたる文書化されたトレーサビリティが含まれます。
IEC 60880 に対するベクターツールの対応
- VectorCAST:IEC 60880:2006に準拠したTÜV認定のカバレッジ測定機能を備え、カテゴリーA準拠のためのMC/DCカバレッジに対応しています
ツールの適格性評価:その重要性


IEC 61508、ISO 26262、DO-178C などの標準では、検証プロセスで使用されるツール自体が認定または認証されていることが要件となっています。テスト結果や静的解析の結果は、それを生成したツールが正しくかつ一貫して動作していることが実証できる場合にのみ、適合性の証拠として受け入れられます。
これらの標準の下で汎用ツールを使用するには、多大な労力が必要です。コンプライアンス用に特別に認証されたツールであれば、その負担を完全に取り除くことができます。
PC-lint Plusは、exida社により、ISO 26262、IEC 61508、IEC 62304、およびEN 50716に基づく機能安全使用向けに認証されています。認証文書は入手可能であり、標準ライセンスに含まれています。
VectorCASTのカバレッジ測定結果は、TÜVによって認証されています。「Industry Modes」機能により、各標準および完全性レベルに応じて適切なカバレッジ基準が自動的に適用されます。認証文書はオンラインで公開されており、認定キットはリクエストに応じてすぐに入手可能です。