エンベデッドシステムスペシャリスト暗記無料で始める

MISRA-Cとは?みすらしー

MISRA-Cとは、C言語のうち、処理系によって振る舞いが変わりうる書き方を使わせないために定められた規則集。動的メモリ確保、再帰、goto、暗黙の型変換などを禁止または制限し、適合しているかを静的解析ツールが機械的に判定できる形で書き下してある。車載を出発点に、信頼性が問われる組込み分野で広く参照されている。

最終更新:2026-10-06

試験情報

エンベデッドシステムスペシャリスト試験の過去問では1回出題されています。

エンベデッドシステムスペシャリスト試験の頻出用語/午前II

この語が出る過去問を解く →

背景

C言語の規格は、処理系に実装の自由を残すために多くの動作を未定義・未規定のまま置いている。同じソースでも処理系を変えれば違う動きをしうるということで、これは移植性の余地としては利点だが、人命に関わる機器では危険そのものになる。言語仕様を変えられない以上、使う側で書いてよい範囲を狭めるという解き方が採られ、自動車業界で整備されたものがいまでは他分野でも参照されている。

具体例

英国のMISRA(Motor Industry Software Reliability Association)が策定し、MISRA C:2012が広く使われている。Coverityやコンパイラ付属の解析機能が適合性検査に対応しており、「すべての条件文の本体は波括弧で囲む」「switch文には必ずdefaultを置く」といった規則を機械的に確かめられる。

試験での引っ掛け

文書としてのガイドラインであって、解析ツールでも認証制度でもない点をまず区別する。規則から外れること自体も想定されており、Requiredの規則でさえ理由を残す手続き(デビエーション)を踏めば逸脱できるので、「例外なく全規則を満たさなければ準拠と言えない」は誤り。準拠することと、言語レベルのメモリ安全性を得ることも別の話になる。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では1回出題
  • 分野:午前II
  • 文書としてのガイドラインであって、解析ツールでも認証制度でもない点をまず区別する。