MISRA

MISRA C/C++ 準拠への対応

MISRA準拠への対応:C/C++test
MISRAは、MISRA(Motor Industry Software Reliability Association) が発行したコーディングガイドラインです。車載ソフトウェア開発を中心に採用されていますが、近年では医療機器/産業機械/鉄道/航空機など セーフティクリティカルなソフトウェアの開発においてもMISRA C/C++準拠を推進する開発現場が増えてきています。
セキュリティへの取り組みが強化されたMISRA C:2012の改正版が公開され、安全性の高いソフトウェア開発に向けた動きが加速しています。
「C/C++test」を用いた、MISRA C ガイドラインへの準拠を自動的にチェックする手法をご紹介します。
MISRA C:2023/C++:2023 対応のポイントとは

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に準拠していることを証明することができません。MISRA準拠の証明に必要な文書の作成、および文書化のプロセスを簡単にしてくれるツールがなければ、ソースコードのチェックをツールで自動化できたとしても、MISRA準拠のためには多大な労力を必要とします。

たとえば「逸脱報告書」には、逸脱箇所を示すファイル名、行番号を記載する必要があります。ソースコードの変更により、逸脱箇所の行番号が変わった場合、逸脱報告書も変更しなければなりません。また、派生開発においては、派生元の逸脱報告書を基に派生先の「逸脱報告書のベース」を作成するだけでも開発者の大きな負担になります。

「C/C++test」のMISRAコンプライアンスパックは、これらの課題を解決し、MISRA Complianceで規定された4種類のレポートを自動生成します。MISRAへの準拠を提示するための時間と労力を大幅に削減することができます。

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

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

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

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

「C/C++test」は、 MISRA C:2012 改訂版に対応したソースコード静的解析用ルールセットが搭載されています。MISRA C:2012 改訂版で定義される全199個のガイドラインのうち、静的解析ツールによって機械的に検出できない4項目を除く全ての項目を自動的にチェックすることができます。
※コンプライアンス関連機能の使用には専用のライセンス(有償)が必要です。

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

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

MISRA Complianceガイドライン

MISRA C:1998、MISRA C:2004、MISRA C++:2008、MISRA C:2012では、準拠方法や証明するためのレポートについての明確な定義がありません でした。そこで発行されたのが、「MISRA Complianceガイドライン」です。
MISRA Complianceでは、MISRA規格への準拠を証明するために必要な提出物が明確化されています。

具体的には、以下の文書が求められます。
  • ガイドライン施行計画書(Guideline enforcement plan)
  • ガイドラインの再分類計画書(Guideline re-categorization plan)
  • 逸脱報告書(Deviation record)
  • ガイドライン逸脱の定義(Deviation permit)
  • ガイドラインコンプライアンスサマリー(Guideline compliance summary)
MISRA Complianceで求められている5種類のレポートと、その中の4種類のレポート作成作業を効率化する「コンプライアンスパック」についてご紹介するホワイトペーパーを公開しています。
MISRA準拠の証明に必要なレポート作成を効率化する方法や、MISRAの各コーディングスタンダードに対応する「C/C++test」のルール説明など、 より詳しい情報を公開していますので、ダウンロードください。

また、MISRAコーディングスタンダードをはじめ、AUTOSAR C++ 14コーディングガイドライン、CERTやCWEなどのコーディングのガイドラインにも対応した「C/C++test」の全ての機能を無料で試用できる体験版も提供中です。
この機会にぜひお試しください。

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

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

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

    03-4405-7853

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

お問い合わせ

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