MISRA コンソーシアムは25年間に亘り、MISRA C、MISRA C++ として知られるC言語サブセット(またはコーディング規約)を提供しています。これらは堅牢かつ保守が容易で、移植性の高いコードを開発するために活用され、安全で安心な電子システムソフトウェア開発のガイドラインとして、多くの業界で参照されています。
・Chris Tapp は2001年からMISRAに携わり、現在は MISRA C++ ワーキンググループの議長であり、MISRA C ワーキンググループのアクティブメンバーです。
MISRA ガイドラインについて
・MISRA C、MISRA C++ のドキュメントは、まとめてガイドラインと呼ばれるいくつかのルールとディレクティブで構成されています。すべてのルールとディレクティブはガイドラインです。
・MISRA C++、MISRA C ドキュメントでは、「ガイドライン」という用語を、ドキュメント内のルールとディレクティブの総称として使用しています。
・MISRA Compliance ドキュメントには、「MISRA言語ドキュメント(ガイドライン) は、C および C++ 言語でのコーディングのガイドラインをまとめたものである」と記載されています。
したがって、「ガイドライン」という用語は、MISRA C および C++ ドキュメントの両方、それらのドキュメントの1つ、またはそれらのドキュメントに含まれる 2つ以上のルールおよび/またはディレクティブを指します。 これは紛らわしいように思えるかもしれませんが、通常、単語を使用する文脈によって意味が明確になります。
・MISRA C ガイドラインは、「ルール」または「ディレクティブ」のいずれかに分類されます。ルールは、その要件の完全な説明が提供されているガイドラインです。それ以上の情報を必要とせずにソースコードがルールに準拠していることを確認できる必要があり、静的解析ツールがそれらの規則を確認できるようにする必要があります (いくつかの条件付きで)。ディレクティブは、コンプライアンスのチェックを実行するために必要な完全な説明を提供することができないガイドラインです。
・MISRA C++ ガイドラインは「ルール」として分類されます。MISRA C++ には、「ルール」と「ディレクティブ」の区別はありません。
MISRA C、MISRA C++ ルールへのコンプライアンスを支援するツールの対応表を用意しています。ご請求ください。
MISRA C ワーキンググループの議長であり、LDRA のテクニカルスペシャリストでもある Andrew Banks の指導の下、LDRAの静的解析ツール機能に MISRA C:2023 を追加することで、ますます複雑化してテストが困難になっているマルチスレッド、マルチプロセッサシステムで潜在的に危険なコードを特定します。 LDRA_MisraC2023
今後の予定
2019年1月の発表に続き、MISRA とAUTOSAR C++ ガイドラインを統合して、安全関連の C++ 開発用の単一の「頼りになる」言語サブセットを開発する作業が進行中です。その結果、MISRA によって公開された統合された MISRA–AUTOSAR C++ ルールセットは、共通のルールセットを含む統一されたドキュメントを提供します。これは引き続き自動車セクターやその他のセクターに同様に適用され、LDRAはこれを完全にサポートします。
1988年4月 MISRA C:1998 「Guidelines for the use of the C language in vehicle based software」は、C 言語の C90 バージョンを対象としてリリース。
2004年10月 MISRA-C:2004 「Guidelines for the use of the C language in critical systems」をリリース。元のバージョンを使用しているエンジニアからのフィードバックに対応。新しいタイトルは、この文書がさまざまな分野で広く使用されていることを反映している。
2008年6月 MISRA C++:2008 「Guidelines for the use of the C++ language in critical systems」をリリース。重要なアプリケーションでC++ の採用が増加していることへの対処として。
2013年2月 MISRA C:2012 「Guidelines for the use of the C language in critical systems」をリリース。C 言語の新しいC99バージョンに対応し、C90 との下位互換性を維持。
2019年2月 MISRA C:2012 「Guidelines for the use of the C language in critical systems」を、元のMISRA C:2012 ドキュメント、Amendment 1、および Technical Corrigendum 1 の内容を照合するために更新された形式でリリース。