MISRA C/C++への対応

MISRA C:2012準拠への対応

セキュリティへの取り組みが強化されたMISRA C:2012の改正版が公開され、安全性の高いソフトウェア開発に向けた動きが加速しています。Parasoft社製テストツール「C++test」を用いた、MISRA C ガイドラインへの準拠を自動的にチェックする手法をご紹介します。

MISRAとは

高い信頼性と安全性を実現するためのソフトウェア設計標準規格

MISRAのコーディングスタンダードとは、MISRA(Motor Industry Software Reliability Association)が作成した「Guidelines For The Use Of The C Language In critical systems(クリティカルなシステムの開発におけるCプログラミングガイドライン)」をもとに作成されています。

MISRAコーディングスタンダードには、安全性、信頼性、移植性を確保したプログラミングのためのルールが数多く含まれ、車載ソフトウェア、航空システムや医療システムなど安全性に対して高い水準を求められる組込みソフトウェアの開発に有効です。
車載ソフトウェアなどセーフティ クリティカルなシステムの開発では、ひとつのバグの発生が、ブランドイメージの失墜、リコールや損賠賠償、さらには人命の喪失に繋がりかねないといった重大なリスクを抱えています。MISRAコーディングスタンダードは、こうしたリスクを回避するための優れたガイドラインを提供しています。

MISRAコンプライアンスパック

MISRAの最新版であるMISRA C:2012 (Amendment 1の追加を含む)に完全対応

MISRA C:2012は、MISRA(Motor Industry Software Reliability Association) が発行したC言語向けのコーディングガイドラインです。車載ソフトウェア開発を 中心に採用されています。近年では、医療機器/産業機械/鉄道/航空機など セーフティクリティカルなソフトウェアの開発においてもMISRA C:2012準拠を 推進する開発現場が増えてきています。
「C++test」は、最新の MISRA C:2012 改訂版に対応したソースコード静的解析用ルールセットが搭載されています。MISRA C:2012 改訂版で定義される全173個のガイドラインのうち、静的解析ツールによって機械的に検出できない4項目を除く全ての項目を自動的にチェックすることができます。
※コンプライアンス関連機能の使用には専用のライセンス(有償)が必要です。

MISRA C:2012遵守用ダッシュボード

MISRA C:2012遵守用ダッシュボード

MISRA Compliance:2016ガイドライン

MISRA C:1998、MISRA C:2004、MISRA C++:2008、MISRA C:2012では、「準拠方法」や「証明するためのレポート」についての明確な定義がありません でした。そこで、発行されたのが、"MISRA Compliance:2016ガイドライン"です。"MISRA Compliance:2016"では、MISRA規格への準拠を証明するために必要な提出物が明確化されています。具体的には、以下の文書が求められます。
  • ガイドライン施行計画書(Guideline enforcement plan)
  • ガイドラインの再分類計画書(Guideline re-categorization plan)
  • 逸脱報告書(Deviation record)
  • ガイドライン逸脱の定義(Deviation permit)
  • ガイドラインコンプライアンスサマリー(Guideline compliance summary)

MISRA C:2012の準拠したことをどのように証明するのか?

ソースコードがMISRAのガイドラインに違反していることを報告するツールは、数多く存在します。しかし、それらのツールが出力する結果だけでは、MISRAに準拠していることを証明することができません。MISRA準拠の証明に必要な文書の作成、および文書化のプロセスを簡単にしてくれるツールがなければ、ソースコードのチェックをツールで自動化できたとしても、MISRA準拠のためには多大な労力を必要とします。
「C++test」のMISARコンプライアンスパックでは、プロジェクト全体のステータスを高レベルでリアルタイムに表示できます。コンプライアンスパックは、MISRA Compliance:2016で規定された4種類のレポートを自動生成します。MISRAへの準拠を提示するための時間と労力を大幅に削減することができます。
「C++test」のコンプライアンスパックは、MISRA、AUTOSAR C++14、CERTなどの 業界固有の静的解析ルールに加えて、コーディングガイドラインに則った 遵守サマリーレポートや逸脱のレポートを提供しています。

MISRAコンプライアンスパック

MISRAコンプライアンスパック

MISRA準拠の証明に必要なレポート作成を効率化する方法や、MISRAの各コーディングスタンダードに対応する「C++test」のルール説明など、 より詳しい情報をホワイトペーパーにて公開しております。
また、MISRAコーディングスタンダードをはじめ、さまざまなコーディングのガイドラインに対応した「C++test」の全ての機能を無料で試用できる体験版も提供中です。
この機会にぜひお試しください。

静的解析・単体テストツールを無償体験版をお試しください

静的解析・単体テストツールを無償体験版をお試しください。
すべての機能を無償で14日間ご利用可能、すぐにご評価可能なチュートリアル付属!
ご評価を円滑に進めるための、技術的なサポート対応あり!

静的解析・単体テストツール C++testに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

CONTACT

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。