MISRA

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

MISRA準拠への対応:C/C++test
MISRAは、MISRA(Motor Industry Software Reliability Association) が発行したコーディングガイドラインです。車載ソフトウェア開発を中心に採用されていますが、近年では医療機器/産業機械/鉄道/航空機など セーフティクリティカルなソフトウェアの開発においてもMISRA C/C++準拠を推進する開発現場が増えてきています。

一方で、MISRA準拠には、数多くのルールに対応する必要があり、準拠には多大な作業が必要です。また、2023年に公開されたMISRA C:2023/MISRA C++:2023ではMISRA C:2012同様に準拠証明のためのレポートが求められます。

「C/C++test」はコーディングガイドラインのチェックおよび準拠に必要なレポート作成の効率化をサポートします。
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 C:2023/MISRA C++:2023のルールに完全対応、コンプライアンスレポート作成をサポート

「C/C++test」は、ソースコードの静的解析により、MISRAのコーディングガイドラインへの準拠状況をチェックします。
また、MISRA C:2023 (MISRA C:2012) およびMISRA C++:2023については、専用のダッシュボードで準拠状況を確認することや、準拠証明に求められる4種類のレポートを自動生成することが可能です。

MISRA C:2023/MISRA C++:2023を含む、各MISRAのバージョンに対応したルールセットが搭載されています。

  • MISRA C:2023 (MISRA C:2012)
  • MISRA C++:2023
  • MISRA C++:2008
  • MISRA C:2004
  • MISRA C:1998
※コンプライアンス関連機能の使用には専用のライセンス(有償)が必要です。

MISRAダッシュボード

MISRA 遵守用ダッシュボード

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

お問い合わせ

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