AUTFL-4.1.1 MISRA-C:2012 ガイドラインの目的と要件について例を用いて説 明する。(K2)
MISRA-C:2012 ガイドラインの目的
MISRA-C:2012 ガイドラインは、C 言語の安全で信頼性の高いソフトウェア開発を促進するために設計されたガイドラインです。
MISRA-C:2012 ガイドラインを含むコーディング標準の目的は、次の 2 つです。
欠陥を引き起こす可能性のある不正を防止する。
ソフトウェアの保守性と移植性を向上させる。
MISRA-C:2012 ガイドラインの要件
ガイドラインは、ルールと指針の 2 つのタイプに分類される。
各ガイドラインは、推奨、必須、または義務の 3 つの義務レベルの 1 つに分類される。
ルール
ルールは全般的に静的解析ツールを使用して検証できるもの
ソースコードは入れ子になったコメントを含まない。
変数は、そのスコープ内で一意の名前を持つ。
指針
指針は静的解析ツールでは完全には検証できないもの
開発者は実装した振る舞いを十分に文書化する必要がある。
開発者は、コードレビューを実施する必要がある。
義務レベル
組織は、個別にルールまたは指針の要件を強化できるが、緩和することはできません。
「推奨」:極力従う必要がある。従わない場合も違反を文書化すべきである。
「必須」:従う必要がある。従わない場合、正式な逸脱手続きが必要となる。
「義務」:従う必要がある。例外は認められない。
練習問題 #35 (1 Point)
MISRA C:2012 について、以下の選択肢のうち正しいものはどれですか?
a) カテゴリ「必須」のルールは、開発者が理由を述べても無視することはできません。
b) ガイドラインの拘束力は、組織ごとに事前に定められています。
c) カテゴリ「義務」のルールは、典型的なコーディングの異常を避けるためのものです。
d) MISRA ガイドラインは、静的解析ツールで完全にテスト可能です。
正解:c)
a) 正しくありません。「必須」と定められているガイドラインは、開発者が説得力のある 理由を提示した場合にのみ無視することができます。
b) 正しくありません。組織は自分たちにとってルールをより拘束力のあるものにすること ができます。
c) 正しいです。コーディング標準は異常を回避するのに役立ちます。コーディング標準の 典型的な違反は、これらの異常の一部です。
d) 正しくありません。指令は静的解析ツールで完全にテストすることはできません。
【出典元】
ISTQBテスト技術者資格制度
Foundation Level Specialist シラバス
自動車ソフトウェアテスト担当者
日本語版 Version 2018.J03
この記事が気に入ったらサポートをしてみませんか?