HIS + MISRA C チェックリスト
Hersteller Initiative Software (HIS)メトリックスは、ソフトウェアプロジェクトに適用される15のメトリックスと、ソフトウェアプロジェクトの2つのリビジョンに適用される3つのメトリックスから構成されています。プロジェクトメトリックスのうち、2つは実際にはMISRA Cのサブセットのルール違反の要約です。
このチェックリストには、HISを代表する18のメトリクスと、HISが参照する基本的なMISRA Cコーディングスタンダードのチェックが含まれています。MISRA Cの指令と規則は、HIS規格が発行された時点で適用されていたMISRA-C:2004規格ではなく、MISRA-C:2012での参照方法に基づいてリストされています。
このチェックリストでレビューされるソフトウェアは、-nosysオプションを無効にし、-nosysbodiesオプションを有効にしてImagix 4Dにロードする必要があります。
"MISRA"、"MISRA C"および三角形のロゴは、MISRAコンソーシアムを代表してHORIBA MIRA Ltdが所有する登録商標です。
HIS ソースコード指標
HIS-CALLING | 呼び出し元数 5より大 |
HIS-CALLS | 呼び出された関数の数 7より大 |
HIS-COMF | ステートメントに対するコメントの割合 0.2以下 |
HIS-CYC | サイクロマティック複雑度 10より大 |
HIS-GOTO | gotoの数 |
HIS-LEVEL | 入れ子条件の数 4より大 |
HIS-NOMV | MISRA CルールのHISサブセット違反 |
HIS-NOMVPR | MISRA C ルールの HIS サブセットのルールごとの違反 |
HIS-PARAMS | 関数仮引数の数 5より大 |
HIS-PATH | パスの数 80より大 |
HIS-REC | 再帰関数 |
HIS-RETURN | 関数内のreturnの数 |
HIS-SCHG | プロジェクト内で変更されたステートメントの数 |
HIS-SDEL | プロジェクト内で変更されたステートメントの数 |
HIS-SI | プロジェクトの安定性指数 |
HIS-SNEW | プロジェクトで追加されたステートメントの数 |
HIS-STMT | 関数内のステートメントの数 50より大 |
HIS-VOCF | 関数の語彙数 4より大 |
Underlying MISRA C Directives
Dir 1.1 | Dir 4.4 |
Dir 4.6 | Dir 4.7 |
Dir 4.9 | Dir 4.11 |
Dir 4.12 | |
Dir 1.1 | Dir 4.6 | Dir 4.9 | Dir 4.12 | |
Dir 4.4 | Dir 4.7 | Dir 4.11 | | |
Underlying MISRA C Rules
Rule 1.1 | Rule 1.2 |
Rule 1.3 | Rule 2.1 |
Rule 2.1a | Rule 2.1b |
Rule 2.2 | Rule 3.1 |
Rule 4.1 | Rule 4.2 |
Rule 5.3 | Rule 5.6 |
Rule 5.7 | Rule 6.2 |
Rule 7.1 | Rule 8.1 |
Rule 8.2 | Rule 8.3 |
Rule 8.4 | Rule 8.5 |
Rule 8.6 | Rule 8.7 |
Rule 8.8 | Rule 8.9 |
Rule 8.13 | Rule 9.1 |
Rule 9.2 | Rule 10.1 |
Rule 10.2 | Rule 10.3 |
Rule 10.4 | Rule 10.6 |
Rule 10.7 | Rule 10.8 |
Rule 11.1 | Rule 11.3 |
Rule 11.8 | Rule 12.1 |
Rule 12.2 | Rule 12.3 |
Rule 12.4 | Rule 13.2 |
Rule 13.4 | Rule 13.5 |
Rule 13.6 | Rule 14.1 |
Rule 14.2 | Rule 15.1 |
Rule 15.2 | Rule 15.3 |
Rule 15.6 | Rule 15.7 |
Rule 16.2 | Rule 16.3 |
Rule 16.4 | Rule 16.5 |
Rule 16.6 | Rule 16.7 |
Rule 17.1 | Rule 17.2 |
Rule 17.3 | Rule 17.4 |
Rule 18.1 | Rule 18.2 |
Rule 18.3 | Rule 18.4 |
Rule 18.5 | Rule 18.6 |
Rule 19.1 | Rule 20.2 |
Rule 20.3 | Rule 20.4 |
Rule 20.6 | Rule 20.7 |
Rule 20.9 | Rule 20.10 |
Rule 20.11 | Rule 21.1 |
Rule 21.1a | Rule 21.1b |
Rule 21.1c | Rule 21.2 |
Rule 21.3 | Rule 21.4 |
Rule 21.5 | Rule 21.6 |
Rule 21.7 | Rule 21.8 |
Rule 21.10 | |
Rule 1.1 | Rule 8.4 | Rule 11.8 | Rule 16.4 | Rule 20.6 |
Rule 1.2 | Rule 8.5 | Rule 12.1 | Rule 16.5 | Rule 20.7 |
Rule 1.3 | Rule 8.6 | Rule 12.2 | Rule 16.6 | Rule 20.9 |
Rule 2.1 | Rule 8.7 | Rule 12.3 | Rule 16.7 | Rule 20.10 |
Rule 2.1a | Rule 8.8 | Rule 12.4 | Rule 17.1 | Rule 20.11 |
Rule 2.1b | Rule 8.9 | Rule 13.2 | Rule 17.2 | Rule 21.1 |
Rule 2.2 | Rule 8.13 | Rule 13.4 | Rule 17.3 | Rule 21.1a |
Rule 3.1 | Rule 9.1 | Rule 13.5 | Rule 17.4 | Rule 21.1b |
Rule 4.1 | Rule 9.2 | Rule 13.6 | Rule 18.1 | Rule 21.1c |
Rule 4.2 | Rule 10.1 | Rule 14.1 | Rule 18.2 | Rule 21.2 |
Rule 5.3 | Rule 10.2 | Rule 14.2 | Rule 18.3 | Rule 21.3 |
Rule 5.6 | Rule 10.3 | Rule 15.1 | Rule 18.4 | Rule 21.4 |
Rule 5.7 | Rule 10.4 | Rule 15.2 | Rule 18.5 | Rule 21.5 |
Rule 6.2 | Rule 10.6 | Rule 15.3 | Rule 18.6 | Rule 21.6 |
Rule 7.1 | Rule 10.7 | Rule 15.6 | Rule 19.1 | Rule 21.7 |
Rule 8.1 | Rule 10.8 | Rule 15.7 | Rule 20.2 | Rule 21.8 |
Rule 8.2 | Rule 11.1 | Rule 16.2 | Rule 20.3 | Rule 21.10 |
Rule 8.3 | Rule 11.3 | Rule 16.3 | Rule 20.4 | |
|