IEC 61508規格コンプライアンスへの対応
機能安全規格「IEC 61508」対応、ソフトウェア開発にC/C++test利用するメリット
働き方改革や、国内の労働力不足により、自動化設備や産業用ロボットへの投資が増加し、国内市場、さらに中国やアジア地域の、FA・制御機器市場が拡大してきております。 自動化設備や産業用ロボットの需要が加速している一方で、直接的もしくは間接的に人の安全に影響を与える可能性のある製品や部品は、機能安全規格を適用することがことが求められており、電気・電子・プログラマブル電子システムに関する機能安全の国際規格である「IEC 61508」も、グローバルレベルで関心を集めています。「C/C++test」は、IEC 61508に準拠したソフトウェア開発を支援するさまざまな機能を備えており、また、IEC 61508に準拠した開発プロセスでの利用をTUV SUD社より認証されているため、ユーザーによるツール認定の時間や負荷を軽減することができます。
機能安全規格「IEC 61508」とは
IEC 61508とは、IEC(国際電気標準会議)が制定した基本安全規格(basic safety publication)であり、プロセス産業における電気・電子・プログラマブル電子機能安全に関する国際規格です。 IEC 61508は、ISO 26262に比べて広範囲で、電気/電子/プログラマブル電子システム全般に渡る安全規格です。IEC 61508では機能安全にかかわるソフトウェア開発の要件が各種規定されています。IEC 61508準拠 第三者認証機関による認証取得済みツール
C/C++testは、第三者認証機関であるTÜV SÜD社より、IEC 61508に準拠したテストツールとして認証を取得済みです。IEC 61508は、ツールが開発プロジェクトで使用するのに妥当なものであるかを検証するよう求めています。もし、この検証をユーザーが行うとすると、ツールの使用実績や実行結果などのドキュメントを用意し、第三者に検証を依頼する必要があり、手間や費用がかかります。C/C++testを使えば、ツール認証の手間を削減することができます。
※認証取得を目的としてC/C++testをご利用になる場合は、お問い合わせください。
IEC 61508(SIL)の要求事項とC/C++testの機能
IEC 61508は、ハードウェアを含む電気/電子/プログラマブル電子機器システムの開発プロセス全体をカバーしていますが、パート 3 では特にソフトウェアの要求事項について記述しています。この要求事項には、コーディング標準に対する適合性の検証、単体テスト、フロー解析、カバレッジの収集などが含まれています。C/C++testは、これらの検証の自動化や結果レポートの出力を可能にし、認証準拠の負担を軽減します。
IEC61508は、システムの安全機能について、故障のリスクを評価し、リスクを許容可能な範囲にまで低減するために必要な安全水準(安全完全性レベル、Safety Integrity Levels:SIL)を定めるよう求めています。このSILに応じて要求事項 (安全対策)が決定され、達成すべきSILが高いほど要求事項も厳しくなります
《例:C/C++testの単体テスト機能とIEC 61508 SIL 要求事項の対応》
表中のマークは、以下を表します。
《例:C/C++testの単体テスト機能とIEC 61508 SIL 要求事項の対応》
表中のマークは、以下を表します。
- R – IEC 61508 の「推奨」技法に対応する機能
- HR – IEC 61508 の「強く推奨」技法に対応する機能
C/C++testの機能 | SIL | |||
---|---|---|---|---|
1 | 2 | 3 | 4 | |
単体テスト モジュール - 全般 | ||||
単体テスト実行 (表 A.5: 4、表 A.7: 3) | ||||
自動単体テスト生成モジュール | ||||
境界値を用いた自動単体テスト生成 (表 B.2: 1、表 B.3: 3) | ||||
ファクトリ関数を用いた入力パラメータ値セットの準備による自動単体テスト生成 (表 B.2: 5) | ||||
ランダム入力値の組み合わせを用いた自動単体テスト生成 (表A.5: 1) | ||||
テスト管理モジュール | ||||
手動で作成またはテスト ケース ウィザードによって作成したユーザー定義テスト ケースを用いた特定要件のアトミック ケースのテスト (表 A.5: 4、表 A.7: 3) | ||||
データ ソースを使用して特定要件のアトミック ケースに相当する機能に対する入力を効率的に作成 (表 A.5: 4、表 A.7: 3) | ||||
テスト ケース エクスプローラーを使用したテスト ケースの管理とテスト ステータスの確認 (表 A.5: 2) | ||||
関数スタブ | ||||
スタブを使用して特定要件で指定されたとおりにテストの流れを制御 (表 A.5: 4) | ||||
関数スタブを使用して自動単体テスト実行用にユーザー インターフェイスを置換 (表 A.5: 6) | ||||
スタブを使用してテスト中にエラー条件を生成 (表 B.2: 2) | ||||
カバレッジ モジュール | ||||
ステートメント、ブランチ、MC/DC カバレッジの解析による構造のテスト (表 B.2: 6) |
IEC 61508の準拠に役立つルールセット
IEC 61508では、「作成されたコードがコーディング標準を満たしていること」、「プログラムミスに対する防止の方策が実施されていること」、「設計と同様に、コードもテスト可能性、保守性、複雑性などが制御下にあること」が求められています。C/C++testに搭載された、MISRA C/C++、JSF、HIS ソースコード メトリクス、IPA/SECの「コーディング作法ガイド」など、業界で認められたコーディングスタンダードルール セットに従うことで、この要求を達成できます。
PICK UP
イベント・セミナー
ニュース・キャンペーン
静的解析ツール・単体テストツール C/C++testに
関するお問い合わせ
テクマトリックス株式会社
東京本社ソフトウェアエンジニアリング事業部
03-4405-7853
- メールでのお問い合わせ
- parasoft-info@techmatrix.co.jp