リリース日: 2020年11月9日
このリリースには以下の拡張が含まれます。
新しい抑制フォーマット
静的解析の指摘事項の抑制を parasoft.suppress ファイルに作成し、ソース ファイルとともにソース管理システムに保存できます。C/C++test GUI で入力ファイル抑制を作成するか、抑制したい指摘事項の情報を手動で抑制ファイルに追加します。「GUI での指摘事項の抑制」および「抑制ファイルでの抑制の定義」を参照してください。
これまで GUI での抑制の作成に使用されていた XML 形式フォーマットは非推奨になりました。IDE 起動時に、非推奨の抑制を新しい入力ファイル フォーマットに変換できます。「抑制の移行」を参照してください。
さらに、正規表現パターンに一致する行で検出された静的ルール違反を自動的に抑制するよう設定できます。「正規表現パターンに基づく行抑制の定義」を参照してください。
静的解析の拡張
C/C++test の静的解析に、最も有益なタスクに集中するのに役立つ新機能が追加されました。
現在のブランチで変更されたコードを解析する新しいスコープ オプション
現在の作業ブランチで変更されたファイルだけに解析範囲を制限するファイル フィルターを作成できるオプションが追加されました。これにより、メインの開発ストリームにコードをマージする前に、最近のコードの変更で入り込んだバグを検出し、修正する作業に集中できるようになります。
さらに、ローカルで変更されたファイルだけに範囲を狭め、変更したコードをソース管理システムにチェックインする前に解析することもできます。
詳細は「ソース管理データに基づくファイル フィルターの定義」および「カスタム テスト コンフィギュレーションの作成」を参照してください。
コード解析ベースラインを定義する新しいレポート参照オプション
C/C++test での解析実行時にベースラインとして使用される参照レポート ファイルへのパスまたは URL を指定できるようになりました。これにより、以前にレポートされた指摘事項を現在のレポートから除外し、最近検出されたコードの欠陥だけに集中できるようになります。「レポート オプションの設定」を参照してください。
C/C++test Extension for Visual Studio Code の拡張
C/C++test Extension for Visual Studio Code の機能が拡張されました。以下が可能になりました。
- Parasoft DTP からの解析結果のインポート
- 新しい入力ファイル フォーマットでの静的解析指摘事項の抑制の作成
C/C++test extension for Visual Studio Code は、Visual Studio Code Marketplace から入手できます。
コンパイラのサポート
新たに以下のコンパイラがサポートされました。
コンパイラ名 | コンパイラ略称 |
---|---|
ARM Compiler 6.14 | armclang_6_14 |
Clang C/C++ Compiler v 10.0 (x86_64) | clang_10_0 |
GNU GCC 10.x (x86_64) | gcc_10-64 |
IAR Compiler for ARM v. 8.50x | iccarm_8_50 |
Metaware DesignWare ARC C/C++ Compiler P-2019.09 | ccac_2019_09 |
IDE のサポート
次の IDE のサポートが追加されました。
- Eclipse 2018-12 (4.10)
- Eclipse 2019-03 (4.11)
- Eclipse 2019-06 (4.12)
- Eclipse 2019-09 (4.13)
- Eclipse 2019-12 (4.14)
- Eclipse 2020-03 (4.15)
追加または更新された解析ルール
新規静的解析ルールが追加され、コンプライアンス標準のカバー範囲が拡張されました。詳細については「新規ルール」、「更新されたルール」を参照してください。
テスト コンフィギュレーションの更新
以下のテスト コンフィギュレーションが更新されました。
- AUTOSAR C++14 Coding Guidelines
- Flow Analysis Aggressive
- Flow Analysis Fast
- Flow Analysis Standard
- High Integrity C++
- Joint Strike Fighter
- MISRA C 1998
- MISRA C 2004
- MISRA C 2012
- MISRA C++ 2008
- Recommended Rules for FDA (C)
- Recommended Rules for FDA (C++)
- SEI CERT C Guidelines
- SEI CERT C Rules
- SEI CERT C++ Rules
IDE でのネットワーク ライセンスの解放
IDE でアクティブに C/C++test を使用していないときにネットワーク ライセンスをデアクティベートし、ライセンス トークンの割り当てを最適化できます。他のユーザーがライセンス トークンを利用できるよう、トークンを解放します。手動でライセンスをデアクティベートするか、アイドル時に自動的にライセンス トークンを解放するよう C/C++test を設定します。「Parasoft ライセンスの設定」を参照してください。
その他の拡張
- カバレッジ レポートが拡張され、サイズの削減とパフォーマンスの最適化が行われました。report.coverage.version を参照してください。
- フローベースの解析実行に必要なデータ セットを構築する際のディスク使用量を削減しました。
- モダン C++ のフローベース解析パフォーマンスが改善されました。
非推奨の環境およびサポート対象から削除された環境
非推奨のコンパイラ
次のコンパイラのサポートは非推奨であり、将来のリリースで削除される予定です。
- ARM Compiler 6.6
- Intel C++ Compiler v 18.0
- GCC for Tricore 4.9.x
非推奨になったプラットフォーム
次のプラットフォームのサポートは非推奨であり、将来のリリースで削除される予定です。
- Windows Server 2008
- Windows Server 2012
サポート対象から削除された IDE
次の IDE のサポートは廃止されました。
- Eclipse 3.8
- Visual Studio 2008
- Visual Studio 2010
ソース管理システムのサポートの廃止
次の SCM のサポートは廃止されました。
- AccuRev
- ClearCase
- CVS
- Serena Dimensions
- StarTeam
- Synergy CM
- Visual Source Safe
解決済みのバグおよび FR
バグ/FR ID | 説明 |
---|---|
CPP-42547 | CERT-C-MSC04 は、URL を構成する '//'に対して違反をレポートするべきではない |
CPP-44289 | すべてのテスト ケース ステップを展開/折り畳みするボタンの追加 |
CPP-44888 | MISRA2004-5_1 の精度改善 |
CPP-44911 | CERT_C-INT34-a (MISRA-038) が正しいシフト演算に対して違反を誤検出する |
CPP-44935 | CODSTA-125 (CERT_CPP-EXP57-b) が nullptr からの変換に対して違反を誤検出する |
CPP-45230 | 非常に長いコマンド ラインを指定して cpptestcli から呼び出されたとき、cpptestcc1 がクラッシュする |
CPP-45349 | AUTOSAR-A7_1_3-a の誤検出 |
CPP-45372 | MISRA2008-5_0_6_a の違反誤検出 |
CPP-45430 | #ifndef が使用されていない場合、PREPROC-10 (MISRA2008-16_2_1_b) が #endif ディレクティブを検出しない |
CPP-45452 | デフォルト化できないコンストラクターに対して HICPP-12_5_2-a (AUTOSAR-A12_7_1-a) が違反を誤検出する |
CPP-45500 | オーバーロードされた関数 "ioctl" の複数のインスタンスに "C" リンケージがある |
CPP-45501 | カバレッジ: 無名の名前空間に定義された関数がカバレッジ ビューに複数回表示される可能性がある |
CPP-45505 | error: identifier "r9" is undefined static __no_init uint32_t __iar_SB @ r9; |
CPP-45510 | CODSTA-CPP-53 が struct 変数に対して違反をレポートする |
CPP-45514 | JSF-041 (METRICS-26) は parasoft-begin-suppress、parasoft-end-suppress コメントを無視するべき |
CPP-45516 | JSF-046 ルールの実装の改善 |
CPP-45748 | GCC および Clang で括弧の省略が動作しない |
CPP-45769 | MISRA2004-8_7 (JSF-136_a) はヘッダーで定義された const 変数に対して違反をレポートするべきではない |
CPP-45796 | プロジェクト名に "@" が使用されている場合に MISRA-005 (JSF-009) が違反を検出する |
CPP-45833 | JSF-206 (MISRA2004-20_4) は 'new' および 'delete' 演算子メンバー関数を許容する |
CPP-45834 | 自動生成スタブで明示的なコンストラクターが暗黙的に使用されている |
CPP-45855 | Error: pack "_UElements" does not have the same number of elements as "_Elements" |
CPP-45859 | Error: assertion failed at: "scope_stk.c", line 5053 in push_template_instantiation_scope |
CPP-45866 | MISRA2004-14_8 (MISRAC2012-RULE_15_6-a) が範囲ループに対して違反を誤検出する |
CPP-45877 | カンマ区切りプリプロセッサ定義値の誤った処理 |
CPP-45878 | INIT-05 が範囲ベースの for ループに対して違反をレポートする |
CPP-45880 | GCC はシステム関数の例外仕様の不一致を許容する |
CPP-45912 | JSF-051 のマッピングを改善する |
CPP-45917 | CODSTA-61 (JSF-194, MISRA2008-6_4_6) による同じ値の複数の列挙子の処理方法を改善する |
CPP-45965 | オーバーロード可能な属性を持つインストゥルメント コードのコンパイル エラー |
CPP-45975 | PB-50 が scanf の %* を認識しない |
CPP-45978 | 'switch' 文と本体の間にプリプロセッサ ディレクティブがある場合、MISRA2004-15_1 (MISRAC2012-RULE_16_2-a) ルールが違反を誤検出する |
CPP-45979 | ローカル オブジェクトのアドレスが非 static メンバーに代入されている場合、MISRA2004-17_6_b が違反を検出しない |
CPP-45992 | Solution Folder があるソリューションのテスト中に違反が発生する |
CPP-46015 | ビルトイン関数の EDG 互換性のない宣言: __builtin_operator_new および __builtin_operator_delete |
CPP-46018 | MISRAC2012-DIR_4_7-a (BD-PB-CHECKRET) ルールの違反をロードできない |
CPP-46031 | STL-37 (AUTOSAR-A18_1_1-a) は '_func_' マクロの使用に対して違反をレポートするべきではない |
CPP-46137 | CODSTA-13 (JSF-171) がポインター型の式の比較に対して違反をレポートしない |
CPP-46138 | PREPROC-06 がヘッダー ファイル "sensors/sensor.h" に対して違反をレポートする |
CPP-46139 | vector<uint16_t> のテストを生成すると、internal error: assertion failed at: "exprutil.c" が発生する |
CPP-46142 | CERT_C-FI034 のマッピングが誤っている |
CPP-46159 | libc++ で使用されている __builtin_launder の戻り値の型が C++17 と異なっている |
CPP-46173 | CODSTA-CPP-53 および JSF-117.1 の誤検出 |
CPP-46177 | 関数パラメーターの配列次元でキャストが使用されている場合、MISRA2004-14_2 (MISRAC2012-RULE_2_2-a) が違反を誤検出する |
CPP-46186 | MISRA2004-17_6_a の誤検出 |
CPP-46200 | IAR: 長いリンカー コマンド ラインを処理できるようにする |
CPP-46219 | MISRA2008-5_0_1_f - 複数の volatile 型がある場合に、2 つの実装された関数のうち 1 つにバグの可能性 |
CPP-46266 | ループ内で整数定数がキャストされている場合に CODSTA-83 が違反を誤検出する |
CPP-46284 | SECURITY-19 から CERT_C-POS35-a へのマッピングを削除する |
CPP-46317 | "boost::units::dimensionless_type" クラスにメンバー "item" がない |
CPP-46328 | エラー: 同じパラメーター型を持つ static および非 static メンバー関数はオーバーロードできない |
CPP-46334 | AUTOSAR A3-3-2 が非 static クラス メンバー変数に対して違反をレポートする |
CPP-46404 | HICPP-9_1_5-a (AUTOSAR-A10_3_3-a) が 'final' 宣言された仮想関数に対して違反をレポートする |
CPP-46466 | JSF-111 のマッピングを改善する |
CPP-46520 | MISRAC2012-RULE_14_2-* ルールの std::optional に対する違反の誤検出 |
CPP-46549 | GCC の C++98/03 モードでの標準属性をサポートする |
FA-7538 | BD-PB-ARRAY が static 関数に違反をレポートする |
FA-7588 | 解析が深さの制限に達した場合、BD-PB-CC が違反を誤検出する |
FA-7814 | BD-PB-CC の誤検出 |
FA-7855 | 多次元配列がstruct フィールドとして使用されている場合、BD-PB-ARRAY が違反を検出できない |
FA-7884 | BD-PB-NOTINIT - 初期化せずに CString.Format() が使用されている場合、違反を検出できない |
FA-7907 | BD-API-NEGPARAM は fseek の負数のオフセットに対して違反をレポートするべきではない |
FA-7909 | BD-PB-BADSHIFT が uint64_t 変数に対して違反をレポートする |
FA-7913 | ポインターに配列の変数のアドレスが代入されている場合、BD-PB-NP が違反を誤検出する |
FA-7916 | BD-PB-OVERFNZT が char 配列に対して違反を誤検出する |
FA-7917 | 宛先バッファーがベクター要素へのポインターである場合、BD-PB-OVERFWR が違反を誤検出する |
FA-7918 | BD-PB-CC std::abs に対する違反誤検出 |
FA-7919 | エイリアス ポインターを通じてバッファーの内容が割り当てられている場合、BD-PB-OVERFNZT が違反を誤検出する |
FA-7933 | BD-PB-OVERFNZT が strcpy() に対して違反を誤検出する |
FA-7934 | マクロが使用されている場合、BD-PB-ARRAY が違反を検出できない |
FA-7938 | 誤った浮動小数点数値の推測による BD-PB-ARRAY の違反誤検出 |
FA-7939 | テンプレート変数がラムダによってキャプチャされている場合、DependencyFinder.processCfe() で NullPointerException が発生する |
FA-7991 | MISRAC2012-RULE_9_1-a および MISRAC2012-DIR_4_1-a の違反誤検出 (iccarm で、潜在型が "char" 型の列挙型が誤って "signed char" として扱われる) |
FA-7996 | armclamg 6.9 で BD-PB-SUBSEQMOVE および BD-PB-SUBSEQFRWD の違反誤検出 |
FA-7997 | QNX 5.x (32 ビット版) 使用時に BD-PB-ERRNO が違反を誤検出する |
FA-8009 | BD-PB-CC が read OS 呼び出しに対して違反をレポートする |
新規ルール
ルール ID | ルールの説明 |
---|---|
BD-PB-PTRSUB | 同じ配列の要素を指していない 2 つのポインターを減算しない |
CERT_C-ARR36-b | 関連のない 2 つのポインターを比較してはならない |
CERT_CPP-CTR54-c | 同じ配列の要素を指していない 2 つのポインターを減算しない |
CODSTA-13_b | ポインターの減算は、同じ配列の要素を指すポインターにだけ適用する |
CODSTA-CPP-105 | 特別なメンバーの動作がコンパイラの動作と同じである場合は、=default と定義する |
CODSTA-MCPP-51 | 結果がただちに const iterator に変換される場合、const コンテナーの呼び出しを使用する |
CODSTA-MCPP-52 | final クラスに仮想関数を導入しない |
FORMAT-47_a | CV 修飾子は、修飾される型の右側に置く |
FORMAT-47_b | CV 修飾子は、typedef または using 名である型の右側に置く |
JSF-046_a | ユーザー定義の C++ 外部識別子は、 先頭から 64 文字目までに違いがあるべきである |
JSF-046_b | ユーザー定義の C++ 内部識別子は、外部識別子と先頭から 64 文字目までに違いがあるべきである |
JSF-046_c | 同一スコープで宣言されたユーザー定義の C++ 内部識別子は、先頭から 64 文字目までに違いがあるべきである |
JSF-051 | 関数および変数名はすべて小文字でなければならない |
MISRA2004-5_1_a | ユーザー定義の C 外部識別子は、 先頭から 31 文字目までに違いがあるべきである |
MISRA2004-5_1_b | ユーザー定義の C 内部識別子は、外部識別子と先頭から 31 文字目までに違いがあるべきである |
MISRA2004-5_1_c | 同一スコープで宣言されたユーザー定義の C 内部識別子は、先頭から 31 文字目までに違いがあるべきである |
NAMING-54 | 視覚的に区別しやすい識別子を使用する |
PORT-34_a | ユーザー定義の C++ 外部識別子は、 先頭から 64 文字目までに違いがあるべきである |
PORT-34_b | ユーザー定義の C++ 内部識別子は、外部識別子と先頭から 64 文字目までに違いがあるべきである |
PORT-34_c | 同一スコープで宣言されたユーザー定義の C++ 内部識別子は、先頭から 64 文字目までに違いがあるべきである |
PORT-35_a | ユーザー定義の C 外部識別子は、 先頭から 31 文字目までに違いがあるべきである |
PORT-35_b | ユーザー定義の C 内部識別子は、外部識別子と先頭から 31 文字目までに違いがあるべきである |
PORT-35_c | 同一スコープで宣言されたユーザー定義の C 内部識別子は、先頭から 31 文字目までに違いがあるべきである |
PORT-36_a | 識別子の名前は 31 文字を超えるべきではない |
PORT-36_b | マクロ識別子の名前は 31 文字を超えるべきではない |
更新されたルール
カテゴリ ID | ルール ID |
---|---|
AUTOSAR C++14 Coding Guidelines | AUTOSAR-A0_1_1-a, AUTOSAR-A10_3_3-a, AUTOSAR-A12_7_1-a, AUTOSAR-A12_8_3-a, AUTOSAR-A15_0_2-a, AUTOSAR-A15_1_4-a, AUTOSAR-A15_4_5-a, AUTOSAR-A16_0_1-a, AUTOSAR-A18_1_1-a, AUTOSAR-A18_1_6-a, AUTOSAR-A18_5_2-a, AUTOSAR-A18_9_4-a, AUTOSAR-A20_8_5-a, AUTOSAR-A23_0_1-a, AUTOSAR-A27_0_2-a, AUTOSAR-A27_0_2-b, AUTOSAR-A2_3_1-a, AUTOSAR-A3_3_2-a, AUTOSAR-A3_8_1-b, AUTOSAR-A3_8_1-c, AUTOSAR-A5_0_2-a, AUTOSAR-A5_1_1-a, AUTOSAR-A5_2_5-a, AUTOSAR-A5_2_5-c, AUTOSAR-A5_3_2-a, AUTOSAR-A6_4_1-a, AUTOSAR-A6_5_3-a, AUTOSAR-A6_5_4-b, AUTOSAR-A6_6_1-a, AUTOSAR-A7_1_1-a, AUTOSAR-A7_1_3-a, AUTOSAR-A7_1_5-a, AUTOSAR-A7_1_7-a, AUTOSAR-A8_4_3-a, AUTOSAR-A8_4_3-b, AUTOSAR-A8_4_9-a, AUTOSAR-A8_5_0-a, AUTOSAR-M0_1_1-c, AUTOSAR-M0_1_1-f, AUTOSAR-M0_1_1-g, AUTOSAR-M0_1_2-a, AUTOSAR-M0_1_2-ac, AUTOSAR-M0_1_2-c, AUTOSAR-M0_1_2-n, AUTOSAR-M0_1_2-o, AUTOSAR-M0_1_2-p, AUTOSAR-M0_1_2-q, AUTOSAR-M0_1_2-s, AUTOSAR-M0_1_2-x, AUTOSAR-M0_1_2-y, AUTOSAR-M0_1_9-a, AUTOSAR-M0_3_1-a, AUTOSAR-M0_3_1-b, AUTOSAR-M0_3_1-c, AUTOSAR-M0_3_1-d, AUTOSAR-M0_3_1-f, AUTOSAR-M0_3_1-g, AUTOSAR-M0_3_1-i, AUTOSAR-M15_1_1-a, AUTOSAR-M15_1_2-a, AUTOSAR-M3_3_2-a, AUTOSAR-M3_4_1-b, AUTOSAR-M5_0_16-a, AUTOSAR-M5_0_16-b, AUTOSAR-M5_0_17-a, AUTOSAR-M5_0_18-a, AUTOSAR-M5_0_2-a, AUTOSAR-M5_0_6-a, AUTOSAR-M6_4_2-a, AUTOSAR-M6_4_3-a, AUTOSAR-M6_4_3-b, AUTOSAR-M6_4_3-c, AUTOSAR-M6_4_3-d, AUTOSAR-M6_4_3-e, AUTOSAR-M6_4_4-a, AUTOSAR-M6_4_5-a, AUTOSAR-M6_4_6-a, AUTOSAR-M6_4_7-a, AUTOSAR-M6_5_3-a, AUTOSAR-M6_5_4-a, AUTOSAR-M6_5_5-a, AUTOSAR-M6_5_6-a, AUTOSAR-M7_1_2-c, AUTOSAR-M7_5_1-a, AUTOSAR-M7_5_2-a, AUTOSAR-M8_5_2-a |
フロー解析 | BD-API-NEGPARAM, BD-API-STRSIZE, BD-PB-ARRAY, BD-PB-BADSHIFT, BD-PB-CC, BD-PB-ERRNO, BD-PB-NOTINIT, BD-PB-NP, BD-PB-OVERFNZT, BD-PB-OVERFRD, BD-PB-OVERFWR, BD-PB-PTRARR, BD-PB-PTRCMP, BD-PB-SUBSEQFRWD, BD-PB-SUBSEQMOVE, BD-PB-VOVR, BD-RES-LEAKS, BD-TRS-MLOCK, BD-TRS-ORDER |
SEI CERT C | CERT_C-API01-a, CERT_C-ARR30-a, CERT_C-ARR36-a, CERT_C-ARR38-a, CERT_C-ARR38-b, CERT_C-ARR38-d, CERT_C-ARR39-a, CERT_C-CON30-a, CERT_C-CON41-a, CERT_C-CON43-a, CERT_C-DCL00-a, CERT_C-DCL02-a, CERT_C-DCL10-a, CERT_C-DCL11-a, CERT_C-DCL11-b, CERT_C-DCL11-c, CERT_C-DCL11-f, CERT_C-DCL22-a, CERT_C-DCL30-a, CERT_C-DCL30-b, CERT_C-DCL36-a, CERT_C-DCL41-a, CERT_C-ENV01-c, CERT_C-ERR30-a, CERT_C-ERR32-a, CERT_C-ERR33-c, CERT_C-EXP08-b, CERT_C-EXP33-a, CERT_C-EXP34-a, CERT_C-FIO22-a, CERT_C-FIO34-a, CERT_C-FIO37-a, CERT_C-FIO42-a, CERT_C-FIO47-a, CERT_C-FIO47-b, CERT_C-FIO47-c, CERT_C-FIO47-f, CERT_C-FLP30-a, CERT_C-FLP34-a, CERT_C-INT10-a, CERT_C-INT31-a, CERT_C-INT31-b, CERT_C-INT31-d, CERT_C-INT31-e, CERT_C-INT31-f, CERT_C-INT31-i, CERT_C-INT31-j, CERT_C-INT31-k, CERT_C-INT34-a, CERT_C-MEM00-e, CERT_C-MEM01-b, CERT_C-MEM01-c, CERT_C-MEM01-d, CERT_C-MEM12-a, CERT_C-MEM31-a, CERT_C-MSC01-a, CERT_C-MSC01-b, CERT_C-MSC04-b, CERT_C-MSC07-a, CERT_C-MSC07-d, CERT_C-MSC07-e, CERT_C-MSC09-a, CERT_C-MSC12-a, CERT_C-MSC12-d, CERT_C-MSC12-e, CERT_C-MSC17-a, CERT_C-MSC19-a, CERT_C-MSC19-b, CERT_C-POS30-a, CERT_C-POS51-a, CERT_C-POS54-c, CERT_C-STR03-a, CERT_C-STR31-a, CERT_C-STR31-b, CERT_C-STR32-a, CERT_C-WIN30-a |
SEI CERT C++ | CERT_CPP-CON53-a, CERT_CPP-CTR54-b, CERT_CPP-ERR56-a, CERT_CPP-ERR57-a, CERT_CPP-EXP53-a, CERT_CPP-EXP54-b, CERT_CPP-EXP54-c, CERT_CPP-EXP57-b, CERT_CPP-EXP63-a, CERT_CPP-FIO51-a, CERT_CPP-STR50-b, CERT_CPP-STR50-c, CERT_CPP-STR51-a |
コーディング規約 | CODSTA-04, CODSTA-08, CODSTA-119, CODSTA-125, CODSTA-13, CODSTA-149, CODSTA-161_a, CODSTA-161_b, CODSTA-161_d, CODSTA-161_e, CODSTA-161_f, CODSTA-163_b, CODSTA-164_a, CODSTA-164_b, CODSTA-165_a, CODSTA-165_b, CODSTA-168, CODSTA-169_b, CODSTA-169_c, CODSTA-18, CODSTA-194, CODSTA-23, CODSTA-26, CODSTA-32, CODSTA-33, CODSTA-35, CODSTA-41, CODSTA-53, CODSTA-54, CODSTA-56, CODSTA-61, CODSTA-64, CODSTA-79, CODSTA-81, CODSTA-82, CODSTA-83, CODSTA-85, CODSTA-98 |
C++ コーディング規約 | CODSTA-CPP-15, CODSTA-CPP-43, CODSTA-CPP-53, CODSTA-CPP-64, CODSTA-CPP-71, CODSTA-CPP-72, CODSTA-CPP-73 |
Modern C++ コーディング規約 | CODSTA-MCPP-16_e, CODSTA-MCPP-27, CODSTA-MCPP-32, CODSTA-MCPP-40 |
コメント | COMMENT-11 |
Common Weakness Enumeration | CWE-119-a, CWE-119-d, CWE-119-e, CWE-125-a, CWE-125-c, CWE-362-e, CWE-476-a, CWE-704-c, CWE-772-a, CWE-787-a, CWE-787-d, CWE-835-a |
例外 | EXCEPT-11, EXCEPT-12, EXCEPT-22 |
Formatting | FORMAT-06 |
High Integrity C++ | HICPP-16_1_1-b, HICPP-16_1_2-a, HICPP-17_3_3-a, HICPP-18_2_2-a, HICPP-18_3_2-a, HICPP-1_2_1-a, HICPP-1_2_1-d, HICPP-1_2_1-e, HICPP-1_2_1-i, HICPP-1_2_2-a, HICPP-3_4_1-a, HICPP-3_4_2-a, HICPP-3_5_1-c, HICPP-3_5_1-d, HICPP-4_2_2-f, HICPP-5_1_1-a, HICPP-5_2_1-a, HICPP-5_2_1-c, HICPP-6_1_2-a, HICPP-6_1_2-b, HICPP-6_1_3-a, HICPP-6_1_4-a, HICPP-6_1_4-b, HICPP-6_2_2-a, HICPP-6_2_3-a, HICPP-6_2_4-a, HICPP-6_3_1-a, HICPP-6_4_1-b, HICPP-7_1_2-a, HICPP-8_4_1-a, HICPP-8_4_2-a |
初期化 | INIT-03, INIT-05, INIT-16 |
Joint Strike Fighter | JSF-009, JSF-028, JSF-041, JSF-042, JSF-052, JSF-111, JSF-111_a, JSF-117, JSF-117.1, JSF-125_a, JSF-136_a, JSF-138_a, JSF-142_b, JSF-144, JSF-151, JSF-171, JSF-173, JSF-186_a, JSF-186_d, JSF-186_e, JSF-187, JSF-188, JSF-189, JSF-191, JSF-191_a, JSF-192, JSF-193, JSF-194, JSF-195, JSF-196, JSF-197, JSF-199, JSF-201, JSF-206 |
メトリクス | METRICS-02, METRICS-26 |
MISRA C 1998 | MISRA-005, MISRA-024, MISRA-055, MISRA-058, MISRA-065 |
MISRA C 2004 | MISRA2004-10_1_d, MISRA2004-12_1_a, MISRA2004-13_2, MISRA2004-13_4, MISRA2004-13_5, MISRA2004-13_6, MISRA2004-13_7_aa, MISRA2004-13_7_ab, MISRA2004-13_7_ac, MISRA2004-13_7_ad, MISRA2004-13_7_ae, MISRA2004-13_7_af, MISRA2004-13_7_ag, MISRA2004-13_7_ah, MISRA2004-13_7_z, MISRA2004-14_10, MISRA2004-14_1_a, MISRA2004-14_1_d, MISRA2004-14_1_e, MISRA2004-14_2, MISRA2004-14_4, MISRA2004-14_6, MISRA2004-15_0_a, MISRA2004-15_0_b, MISRA2004-15_1, MISRA2004-15_2, MISRA2004-15_2_b, MISRA2004-15_3, MISRA2004-15_4, MISRA2004-15_4_b, MISRA2004-15_5, MISRA2004-17_3, MISRA2004-17_6_a, MISRA2004-17_6_b, MISRA2004-20_4, MISRA2004-8_7, MISRA2004-9_2 |
MISRA C++ 2008 | MISRA2008-0_1_1_a, MISRA2008-0_1_1_d, MISRA2008-0_1_1_e, MISRA2008-0_1_2_aa, MISRA2008-0_1_2_b, MISRA2008-0_1_2_c, MISRA2008-0_1_2_d, MISRA2008-0_1_2_e, MISRA2008-0_1_2_f , MISRA2008-0_1_2_g, MISRA2008-0_1_2_h, MISRA2008-0_1_2_i, MISRA2008-0_1_2_rz, MISRA2008-0_1_6, MISRA2008-0_1_9, MISRA2008-0_3_1_a, MISRA2008-0_3_1_b, MISRA2008-0_3_1_e, MISRA2008-0_3_1_g, MISRA2008-0_3_1_h, MISRA2008-0_3_1_i, MISRA2008-0_3_1_j, MISRA2008-15_1_1, MISRA2008-15_1_2, MISRA2008-16_2_1_b, MISRA2008-18_4_1, MISRA2008-3_3_2, MISRA2008-3_4_1_b, MISRA2008-5_0_13, MISRA2008-5_0_16_a, MISRA2008-5_0_16_b, MISRA2008-5_0_17, MISRA2008-5_0_18, MISRA2008-5_0_2_a, MISRA2008-5_0_6_a, MISRA2008-6_4_2, MISRA2008-6_4_3_a, MISRA2008-6_4_3_b, MISRA2008-6_4_3_c, MISRA2008-6_4_3_d, MISRA2008-6_4_3_e, MISRA2008-6_4_4, MISRA2008-6_4_5, MISRA2008-6_4_6, MISRA2008-6_4_7, MISRA2008-6_4_8, MISRA2008-6_5_3, MISRA2008-6_5_4, MISRA2008-6_5_5, MISRA2008-6_5_6, MISRA2008-6_6_4, MISRA2008-7_1_1, MISRA2008-7_1_2_b, MISRA2008-7_5_1, MISRA2008-7_5_2_a, MISRA2008-7_5_2_b, MISRA2008-8_5_2 |
MISRA C 2012 (レガシー) | MISRA2012-DIR-4_12, MISRA2012-DIR-4_13_a, MISRA2012-DIR-4_1_a, MISRA2012-DIR-4_1_b, MISRA2012-DIR-4_1_e, MISRA2012-DIR-4_1_g, MISRA2012-DIR-4_1_h, MISRA2012-DIR-4_1_i, MISRA2012-DIR-4_1_j, MISRA2012-RULE-10_1_a, MISRA2012-RULE-10_1_b, MISRA2012-RULE-10_1_d, MISRA2012-RULE-10_1_e, MISRA2012-RULE-10_1_f, MISRA2012-RULE-10_3_b, MISRA2012-RULE-10_4_a, MISRA2012-RULE-10_4_b, MISRA2012-RULE-10_5_a, MISRA2012-RULE-10_5_b, MISRA2012-RULE-11_2, MISRA2012-RULE-14_2_a, MISRA2012-RULE-14_2_c, MISRA2012-RULE-14_2_d, MISRA2012-RULE-14_3_q, MISRA2012-RULE-14_3_r, MISRA2012-RULE-14_3_s, MISRA2012-RULE-14_3_t, MISRA2012-RULE-14_3_u, MISRA2012-RULE-14_3_v, MISRA2012-RULE-14_3_w, MISRA2012-RULE-14_3_x, MISRA2012-RULE-14_3_y, MISRA2012-RULE-14_3_zc, MISRA2012-RULE-14_4, MISRA2012-RULE-15_1, MISRA2012-RULE-15_4, MISRA2012-RULE-15_7, MISRA2012-RULE-16_1_a, MISRA2012-RULE-16_1_b, MISRA2012-RULE-16_1_c, MISRA2012-RULE-16_1_d, MISRA2012-RULE-16_1_e, MISRA2012-RULE-16_1_f, MISRA2012-RULE-16_1_h, MISRA2012-RULE-16_2, MISRA2012-RULE-16_3_a, MISRA2012-RULE-16_3_b, MISRA2012-RULE-16_4_a, MISRA2012-RULE-16_4_b, MISRA2012-RULE-16_6, MISRA2012-RULE-16_7_a, MISRA2012-RULE-16_7_b, MISRA2012-RULE-18_1_a, MISRA2012-RULE-18_1_c, MISRA2012-RULE-18_2, MISRA2012-RULE-18_3, MISRA2012-RULE-18_6_a, MISRA2012-RULE-18_6_b, MISRA2012-RULE-1_3_b, MISRA2012-RULE-1_3_d, MISRA2012-RULE-1_3_e, MISRA2012-RULE-1_3_m, MISRA2012-RULE-1_3_n, MISRA2012-RULE-21_17_a, MISRA2012-RULE-21_17_b, MISRA2012-RULE-21_18, MISRA2012-RULE-21_3, MISRA2012-RULE-22_1, MISRA2012-RULE-22_10, MISRA2012-RULE-22_8, MISRA2012-RULE-22_9, MISRA2012-RULE-2_1_a, MISRA2012-RULE-2_1_d, MISRA2012-RULE-2_1_e, MISRA2012-RULE-2_2_a, MISRA2012-RULE-2_2_b, MISRA2012-RULE-3_1_b, MISRA2012-RULE-8_9, MISRA2012-RULE-9_1, MISRA2012-RULE-9_2 |
MISRA C 2012 | MISRAC2012-DIR_4_1-a, MISRAC2012-DIR_4_1-b, MISRAC2012-DIR_4_1-e, MISRAC2012-DIR_4_1-g, MISRAC2012-DIR_4_1-h, MISRAC2012-DIR_4_1-i, MISRAC2012-DIR_4_1-j, MISRAC2012-DIR_4_12-a, MISRAC2012-DIR_4_13-a, MISRAC2012-RULE_10_1-a, MISRAC2012-RULE_10_1-b, MISRAC2012-RULE_10_1-d, MISRAC2012-RULE_10_1-e, MISRAC2012-RULE_10_1-f, MISRAC2012-RULE_10_3-b, MISRAC2012-RULE_10_4-a, MISRAC2012-RULE_10_4-b, MISRAC2012-RULE_10_5-a, MISRAC2012-RULE_10_5-b, MISRAC2012-RULE_11_2-a, MISRAC2012-RULE_14_2-a, MISRAC2012-RULE_14_2-c, MISRAC2012-RULE_14_2-d, MISRAC2012-RULE_14_3-ac, MISRAC2012-RULE_14_3-q, MISRAC2012-RULE_14_3-r, MISRAC2012-RULE_14_3-s, MISRAC2012-RULE_14_3-t, MISRAC2012-RULE_14_3-u, MISRAC2012-RULE_14_3-v, MISRAC2012-RULE_14_3-w, MISRAC2012-RULE_14_3-x, MISRAC2012-RULE_14_3-y, MISRAC2012-RULE_14_4-a, MISRAC2012-RULE_15_1-a, MISRAC2012-RULE_15_4-a, MISRAC2012-RULE_15_7-a, MISRAC2012-RULE_16_1-a, MISRAC2012-RULE_16_1-b, MISRAC2012-RULE_16_1-c, MISRAC2012-RULE_16_1-d, MISRAC2012-RULE_16_1-e, MISRAC2012-RULE_16_1-f, MISRAC2012-RULE_16_1-h, MISRAC2012-RULE_16_2-a, MISRAC2012-RULE_16_3-a, MISRAC2012-RULE_16_3-b, MISRAC2012-RULE_16_4-a, MISRAC2012-RULE_16_4-b, MISRAC2012-RULE_16_6-a, MISRAC2012-RULE_16_7-a, MISRAC2012-RULE_16_7-b, MISRAC2012-RULE_18_1-a, MISRAC2012-RULE_18_1-c, MISRAC2012-RULE_18_2-a, MISRAC2012-RULE_18_3-a, MISRAC2012-RULE_18_6-a, MISRAC2012-RULE_18_6-b, MISRAC2012-RULE_1_3-b, MISRAC2012-RULE_1_3-d, MISRAC2012-RULE_1_3-e, MISRAC2012-RULE_1_3-m, MISRAC2012-RULE_1_3-n, MISRAC2012-RULE_21_17-a, MISRAC2012-RULE_21_17-b, MISRAC2012-RULE_21_18-a, MISRAC2012-RULE_21_3-a, MISRAC2012-RULE_22_1-a, MISRAC2012-RULE_22_10-a, MISRAC2012-RULE_22_8-a, MISRAC2012-RULE_22_9-a, MISRAC2012-RULE_2_1-a, MISRAC2012-RULE_2_1-d, MISRAC2012-RULE_2_1-e, MISRAC2012-RULE_2_2-a, MISRAC2012-RULE_2_2-b, MISRAC2012-RULE_3_1-b, MISRAC2012-RULE_8_9-a, MISRAC2012-RULE_9_1-a, MISRAC2012-RULE_9_2-a |
メモリおよびリソース管理 | MRM-09, MRM-10, MRM-11, MRM-51 |
名前付け規則 | NAMING-04, NAMING-42, NAMING-44 |
最適化 | OPT-14, OPT-20, OPT-21, OPT-22, OPT-39 |
OWASP Top 10 Most Critical Web Application Security Risks (2017) | OWASP2017-A6-c |
バグの可能性 | PB-13, PB-45, PB-46, PB-47, PB-50 |
移植性 | PORT-10, PORT-25 |
プリプロセッサ | PREPROC-06, PREPROC-10 |
STL Best Practices | STL-04, STL-10, STL-12, STL-37 |
削除されたルール
結果の正確さを向上させるため、以下のルールは削除されました。
カテゴリ ID | ルール ID |
---|---|
SEI CERT C | CERT_C-POS35-a |
Joint Strike Fighter | JSF-046, JSF-051_a, JSF-051_b, JSF-051_c, JSF-051_d, JSF-051_e |
MISRA C 2004 | MISRA2004-5_1 |