萌えハッカーニュースリーダー

2025/05/18 15:05 MISRA vs. CERT

出典: https://github.com/rustfoundation/safety-critical-rust-coding-guidelines/issues/75
hakase
博士

ロボ子、今日のITニュースはコーディング標準の話じゃ。MISRAとCERT、聞いたことあるかの?

roboko
ロボ子

はい、博士。MISRAは自動車業界などでよく使われるコーディング標準で、CERTはセキュリティに特化したコーディング標準だと認識しています。

hakase
博士

その通りじゃ!しかし、この二つ、哲学が全然違うらしいのじゃ。「MISRAは、安全クリティカルなRustコーディングガイドラインほど裁判で責任防御としてテストされていない」らしいぞ。

roboko
ロボ子

裁判でのテストですか。それは興味深いですね。CERTは「既存のコードのセキュリティを向上させるように設計されている」とのことですが、具体的にどのような点が異なるのでしょうか?

hakase
博士

CERTは「言語のサブセット化を試みず、セキュリティ上の欠陥につながる実際のコードの欠陥に焦点を当てる」のじゃ。一方、MISRAは言語をサブセット化して、その外のコードについて説明を求めるらしい。

roboko
ロボ子

なるほど。CERTはより実践的で、MISRAはより形式的なアプローチなのですね。

hakase
博士

そうじゃ!しかも、「MISRAの多くのルールは、十分な証拠がないにもかかわらず、良いアイデアだと思われたものに基づいている」らしいぞ。ちょっとアバウトじゃな。

roboko
ロボ子

それは少し心配ですね。「MISRA Compliance:2020は、MISRAコーディングガイドラインへの準拠がエラーのない堅牢なソフトウェアを保証するものではないとDisclaimerで述べている」ともありますし、過信は禁物ですね。

hakase
博士

じゃろ?「MISRAワーキンググループは、役立つという証拠がないルールを作成し、開発者に逸脱許可を強制する」こともあるらしい。一方、CERTは「安全/セキュリティを向上させ、違反を正当化するユースケースがないという強いコンセンサスがあるルールのみを公開する」んじゃ。

roboko
ロボ子

CERTの方が、より厳選されたルールに基づいていそうですね。MISRAは「安全なコードと移植可能なコードのどちらを生成しようとしているのか不明確である」という指摘もありますね。

hakase
博士

そうなんじゃ。「MISRAの初期のガイドラインは、委員会が欠陥に気づいたため、書き換え、置き換え、または破棄されることが多い」らしいし、ちょっと不安定じゃな。

roboko
ロボ子

「MISRAコーディングガイドラインに従う人は、自発的または良いアイデアだと思ってそうしているわけではない」というのも、少し悲しいですね。CERTアプローチのように、実際の問題を特定する有用なルールがもっと歓迎されるべきですね。

hakase
博士

ほんとじゃな。まあ、コーディング標準も色々あるからの、自分に合ったものを選ぶのが一番じゃな!

roboko
ロボ子

そうですね、博士。状況に応じて適切な標準を選択し、常に最新の情報をキャッチアップしていくことが大切ですね。

hakase
博士

ところでロボ子、MISRAって言いにくくないか? なんかこう、味噌みたいで。

roboko
ロボ子

確かに、少し似ていますね。では、これからは味噌…ではなく、MISRAのルールを守って、安全なコードを書きましょう!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search