リリース日: 2021年5月12日
このリリースには以下の拡張が含まれます。
Lattix Architect との統合
ソフトウェア アーキテクチャの解析と改善に役立つ Lattix Architect との統合が追加されました。C/C++test はプロジェクトのコード依存関係データを収集し、後で Lattix Architect にインポートできるファイルとしてエクスポートします。「Lattix Architect との統合」を参照してください。
GitHub 統合の拡張
このリリースには、GitHub ワークフローの円滑化に役立つ以下の拡張が含まれます。
- GitHub の SARIF フォーマットでのレポート生成。これにより、GitHub が C/C++test の静的解析の指摘事項を GitHub コード スキャンの警告として表示することが可能です。
- C/C++test で解析を実行し、GitHub でプロジェクトの一部として結果を参照するための新しい C/C++test アクション
詳細は GitHub の C/C++test アクション ドキュメントを参照してください:https://github.com/marketplace/actions/run-parasoft-c-c-test
CMake との統合の拡張
C/C++test には、C/C++test のコードカバレッジ解析を直接 CMake プロジェクトに統合するための CMake 用カバレッジ拡張が付属しています。拡張機能は自動的にコンパイラ/リンカー コマンド ラインを変更し、プロジェクトのビルド時に cpptestcc カバレッジ ツールを使用します。「CMake プロジェクトのアプリケーション カバレッジの収集」を参照してください。
Visual Studio との統合の改善
このリリースでは、Visual Studio との統合が改善されました。プラグインのインストール プロセス全体を案内する Parasoft Plugin インストーラーを実行して Visual Studio と統合できます。「Plugin for Visual Studio」を参照してください。
C/C++test Extension for Visual Studio Code の拡張
C/C++test Extension for Visual Studio Code の機能が拡張されました。外部 URL または GitHub リポジトリから解析結果をインポートできるようになりました。
C/C++test extension for Visual Studio Code の詳細については Visual Studio Code Marketplace を参照してください。
セキュリティ コンプライアンス パックの拡張
セキュリティ パックが拡張され、新たに以下の標準がサポートされました。
- DISA ASD STIG
- OWASP API Security Top 10-2019
新しいテスト コンフィギュレーションは、上記の標準で指定された弱点を検出するのに役立ちます。「追加または更新されたテスト コンフィギュレーション」を参照してください。
コンパイラのサポート
新たに以下のコンパイラがサポートされました。
コンパイラ名 | コンパイラ略称 |
---|---|
Green Hills Software Compiler for ARM64 v. 2020.1.x | ghsarm64_2020_1 |
QNX GCC 8.x (x86_64) | qcc_8-64 |
QNX GCC 8.x (ARM64) | qccarm_8-64 |
TI ARM C/C++ Compiler v20.2 | tiarm_20_2 |
IAR Compiler for ARM/IAR BXARM v. 8.50x のサポートが拡張されました。IAR BXARM v. 8.50x 向けコンパイラ コンフィギュレーションを Linux で静的解析実行に使用できるようになりました。
追加または更新されたテスト コンフィギュレーション
以下のテスト コンフィギュレーションが追加されました。
- DISA-ASD-STIG
- Export Code Dependency Data
- OWASP API Security Top 10 2019
追加または更新された解析ルール
新規静的解析ルールが追加され、コンプライアンス標準のカバー範囲が拡張されました。詳細については「新規ルール」、「更新されたルール」を参照してください。
その他の変更
- フロー解析実行時およびコード カバレッジ収集時のパフォーマンスが改善されました。
- 開発テスト ワークフローに Parasoft DTP との統合が含まれている場合、Parasoft の SDLC 機能をフルに活用するには、DTP のバージョンを 2021.1 にアップデートします。
- 匿名の使用状況データを Parasoft に送信することで C/C++test の改善を支援できます。デフォルトでは、使用状況データのレポートは無効化されています。IDE または C/C++test 設定でいつでもオプトインできます。
- 2021.1.1 で log4j の脆弱性 CVE-2021-44228 に対処しました。
非推奨の環境およびサポート対象から削除された環境
サポート対象から削除されたプラットフォーム
次の非推奨の環境のサポートは廃止されました。
- 32-bit プラットフォーム
- Windows 7
- Windows Server 2008
- Windows Server 2012
サポート対象から削除された IDE
次の IDE のサポートは廃止されました。
- Eclipse 4.2
非推奨の IDE
次の IDE のサポートは非推奨であり、将来のリリースで削除される予定です。
- Eclipse 4.3、4.4、および 4.5
- Visual Studio 2012 および 2013
非推奨のコンパイラ
次のコンパイラのサポートは非推奨であり、将来のリリースで削除される予定です。
コンパイラ ファミリー | 非推奨のコンパイラ |
---|---|
Altium |
|
ARM |
|
Embarcadero |
|
Clang |
|
Cosmic Software |
|
GNU GCC |
|
Green Hills Software |
|
IAR Compilers |
|
Keil |
|
Microsoft |
|
National Instruments |
|
Renesas |
|
Texas Instruments |
|
Wind River |
|
解決済みのバグおよび FR
バグ/FR ID | 説明 |
---|---|
CPP-46176 | 再構築が protected メンバーにアクセスする |
CPP-46192 | AUTOSAR-A3_9_1 のマッピングを改善する |
CPP-47046 | MISRA2004-13_7_aj (MISRAC2012-RULE_14_3-aa) は 'char' 型の実際のサイズをチェックするべきである |
CPP-47074 | OPT-05 が、ラムダで使用されたローカル変数の誤検出をレポートする |
CPP-47619 | libcpptesttrace64.so のリリース バージョンから __strtok_r の使用を削除する |
CPP-47708 | std::unordered_map でコンパイル エラー |
CPP-47423 | MISRA2008-5_0_6_a の違反検出漏れ: より狭い型への暗黙的な変換が検出されない IAR_ARM_7.80.4 |
CPP-46938 | AUTOSAR-M4_10_2-a と CODSTA-131 の誤検出 - 配列インデックスとポインター初期化の取違い |
CPP-47426 | ラムダ内でオブジェクトを参照でキャプチャしている場合、CODSTA-CPP-53 (AUTOSAR-A7_1_1-a) が違反を誤検出する |
CPP-47124 | METRIC.DIF は明示的なブロックのない else-if 文をカウントするべきではない |
CPP-47454 | && 演算子で本質的なブール型のパラメーターがパラメーターとして使用されている場合、CODSTA-161_a が違反を誤検出する |
CPP-47795 | Cyclomatic Complexity (CC, SCC, MCC) のメトリクス チェックが一貫していない |
CPP-47623 | pragma の後に asm 宣言が続く場合にパーサーがクラッシュする |
CPP-47151 | JSF-164 (BD-PB-BADSHIFT を使用) のマッピングの改善 |
CPP-47196 | MISRA2008-3_2_2 (グローバル ルール) は定義のない constexpr 変数に対して違反をレポートするべきではない |
CPP-47118 | PREPROC-01, PREPROC-10: ドキュメントが紛らわしい |
CPP-46917 | C/C++test UT CMake 拡張機能を Windows 向けに改造する |
CPP-46555 | GCC/Clang windows の atomic_compare_exchange_8 の定義が誤っている |
CPP-47437 | /permissive- を指定した vc_14_2 のクラス インジェクションの設定が誤っている |
CPP-46560 | 再構築が private メンバーにアクセスする |
CPP-47595 | 非推奨の属性が 2 つ目の引数を受け取る |
CPP-47669 | ヘッダーにテンプレート クラスとその特殊化が含まれる場合、NAMING-32 (AUTOSAR-A2_8_1-a) が違反を誤検出する |
CPP-47205 | MISRA2004-12_13 がイニシャライザー内のインクリメント演算に対して違反をレポートしない |
CPP-47013 | オーバーロードされた関数に複数のインスタンス |
CPP-47467 | FlowAnalysis の違反パスがハイライトされない |
CPP-46918 | IAR BXARM コンパイラ のサポート |
CPP-46987 | MISRA2004-16_9 がグローバル イニシャライザーで使われている関数識別子に対して違反をレポートしない |
CPP-46988 | MISRA2004-10_1_* ルールがより狭い型への定数関数引数の暗黙のキャストに対して違反をレポートしない |
CPP-46990 | 閉じ括弧の後に空のステートメントが使用されている場合、MISRA2004-14_3 が違反をレポートしない |
CPP-47045 | ポインター算術演算でポインター型の式が使用されている場合、MISRA2004-17_4 が違反をレポートしない |
CPP-46772 | constexpr で Error: expression must have a constant value の問題 |
CPP-46983 | Error: expression must have a constant value constexpr auto memberFunctionConst = ConstGetMember( &ClassWithMember::GetInt); |
CPP-47340 | 非常に長い名前参照リストをトラバースしたとき、スタックが枯渇する |
CPP-47376 | error: more than one operator "==" matches these operands: built-in operator "arithmetic == arithmetic" |
CPP-47393 | 関数テンプレート "std::distance" に引数リストと一致するインスタンスがない |
CPP-47466 | Error: excessive recursion at instantiation of class |
CPP-46964 | error: a value of type "EdidImageAspectRatio" cannot be used to initialize an entity of type "unsigned char" |
CPP-47367 | Error: "= default" cannot be specified on a friend declaration |
CPP-46340 | 詳細設定によってプロジェクト固有の一次データの場所を再設定できるようにする |
CPP-47319 | コンストラクターがスローする例外が使用されていない場合、EXCEPT-08 (AUTOSAR-M15_3_1-a) が違反を誤検出する |
CPP-47320 | 浮動小数点型の式がコンストラクター呼び出しの引数として使用されている場合、CODSTA-198 (AUTOSAR-M5_0_7-a) が違反を誤検出する |
CPP-47330 | 型がテンプレート引数として使用されている場合、GLOBAL-UNUSEDTYPE (AUTOSAR-A0_1_6-a) が違反を誤検出する |
CPP-47341 | 関数がクラスの外で =default を付けて定義されている場合、GLOBAL-ONEEXTERNDEF (AUTOSAR-M3_2_4-a) が違反を誤検出する |
CPP-47468 | METRICS-40 を C++ で有効にする |
CPP-47469 | CODSTA-CPP-32 (AUTOSAR-A3_1_5-a, JSF-109) はインライン化を意図した関数に対して違反をレポートするべきではない |
CPP-47548 | AUTOSAR A16-0-1 のマッピングを改善する |
CPP-47612 | AUTOSAR-A2_7_2 の誤検出 |
CPP-47661 | AUTOSAR-A5_2_2-a の誤検出 |
CPP-47662 | AUTOSAR-A7_1_5-a: メッセージの誤字を修正する |
CPP-47673 | CODSTA-MCPP-38 (AUTOSAR-A8_5_2-a) がループ変数に対して違反を誤検出する |
CPP-47675 | 委譲コンストラクターが使用されている場合、INIT-06 (AUTOSAR-A12_1_1-b) が違反を誤検出する |
CPP-47783 | 委譲コンストラクターが使用されている場合、CODSTA-CPP-105 (AUTOSAR-A12_7_1-a) が違反を誤検出する |
CPP-47533 | デフォルトのテンプレート パラメーター変換によって SFINAE エラーが発生する |
CPP-45988 | Error: no instance of overloaded function "ac::com::cpp_binding::deserialize_args_from_someip" matches the argument list |
CPP-48192 | cpptestcc: internal error: assertion failed at: "parasoft.c", line 1335 in p_create_token |
CPP-47620 | 式で複数の間接参照が使用されている場合、MISRA2004-16_7 (MISRA2008-7_1_2_a) が一貫しない違反をレポートする |
FA-4940 | BD-PB-CC-2 の誤検出 |
FA-8083 | BD-PB-VALRANGE の誤検出 |
FA-8102 | サブ関数で配列がゼロ終端されている場所がわからない場合、BD-PB-OVERFNZT が違反を誤検出する |
FA-8107 | BD-PB-VALRANGE が for ループに対して違反を誤検出する |
FA-8314 | BD-PB-CC の誤検出 |
FA-8322 | C++11 モードで const 構造体を引数として渡している場合、誤った CFG が作成される |
FA-8337 | MISRAC2012-DIR_4_1-a(BD-PB-ARRAY) の誤検出 |
FA-8339 | BD-PB-VOVR の誤検出 |
FA-8347 | ループ変数がキャストされている場合に BD-PB-ARRAY ルールが違反を誤検出する |
XT-38874 | Git サブモジュール内の作業ブランチで変更されたファイルの解析に関する問題 |
XT-38952 | パスワードに (¨) 記号付きの A が含まれる場合、C++test の GUI で DTP からライセンスを取得できない |
XT-39009 | AWS Linux 環境で NativeSharedMemory がクラッシュする |
新規ルール
ルール ID | 説明 |
---|---|
AUTOSAR-A16_0_1-e | #undef を使用するべきではない |
AUTOSAR-M0_1_3-c | 使用されない private メンバ変数は削除する |
AUTOSAR-M5_0_8-b | 浮動小数点型の複合式の値をより広い浮動小数点型にキャストするべきではない |
BD-PB-NORETDECL | return しない関数は、return しないことを示す属性付きで宣言する |
CERT_C-FLP34-b | 浮動小数点型のより狭い型への暗黙の変換を避ける |
CODSTA-198_b | 浮動小数点型の複合式の値を整数型にキャストするべきではない |
CODSTA-220 | 整数定数マクロの引数は、適切な値を持つ 10 進数、8 進数、16 進数定数であるべきである |
CODSTA-221 | 関数型の仕様に修飾子を含めてはならない |
CODSTA-222 | より広い型からより狭い型への暗黙的な整数変換を避ける |
CODSTA-223 | 基本数値型の代わりにサイズと符合を指定した <cstdint> の固定幅整数型を使用する |
CODSTA-CPP-106 | コンストラクターのデリゲートを使用してコードの重複を減らす |
CODSTA-MCPP-53 | const または const & 型を指定して宣言されたオブジェクトに対して std::move を使用しない |
CODSTA-MCPP-54 | std::array の rvalue 参照を作成しない |
HICPP-16_1_1-e | #endif プリプロセッサ命令は、同じファイルの多重インクルードを防ぐためだけに使用する |
HICPP-16_1_1-f | #if プリプロセッサ命令は、同じファイルの多重インクルードを防ぐためだけに使用する |
HICPP-16_1_1-g | #error ディレクティブを使用してはならない |
HICPP-16_1_1-h | #pragma ディレクティブを使用してはならない |
HICPP-16_1_1-i | #undef を使用するべきではない |
JSF-026_b | #if プリプロセッサ命令を使用するべきではない |
JSF-026_c | #error ディレクティブを使用してはならない |
JSF-026_d | #pragma ディレクティブを使用してはならない |
JSF-026_e | #undef を使用するべきではない |
JSF-028_b | #endif プリプロセッサ命令は、同じファイルの多重インクルードを防ぐためだけに使用する |
MISRA2004-10_4_b | 浮動小数点型の複合式の値を整数型にキャストするべきではない |
MISRA2008-0_1_3_c | 使用されない private メンバ変数は削除する |
MISRA2008-16_2_1_d | #endif プリプロセッサ命令は、同じファイルの多重インクルードを防ぐためだけに使用する |
MISRA2008-16_2_1_e | #if プリプロセッサ命令は、同じファイルの多重インクルードを防ぐためだけに使用する |
MISRA2008-16_2_1_f | #error ディレクティブを使用してはならない |
MISRA2008-16_2_1_g | #pragma ディレクティブを使用してはならない |
MISRA2008-16_2_1_h | #undef を使用するべきではない |
MISRA2008-5_0_8_b | 明示的な整数型または浮動小数点型の変換で cvalue 式の潜在型のサイズを大きくしてはならない |
OWASP2019-API10-a | すべての例外は、再スローされるか標準ロガーでログに記録されるべきである |
OWASP2019-API10-b | ロギングのために syslog 関数を使用しない |
OWASP2019-API2-a | 弱い暗号化関数を使用してはならない |
OWASP2019-API3-a | std アルゴリズムに空のコンテナー イテレーターを宛先として渡さない |
OWASP2019-API3-b | 配列の境界を超えてアクセスしてはならない |
OWASP2019-API3-c | 範囲外の配列およびポインターへのアクセスを避ける |
OWASP2019-API3-d | 不正な書式指定子によるバッファー オーバーフローを避ける |
OWASP2019-API3-e | ゼロで終わっていない文字列の読み込みによるオーバーフローを避ける |
OWASP2019-API3-f | バッファーからの読み取り時のオーバーフローを避ける |
OWASP2019-API3-g | バッファー書き込み時のオーバーフローを避ける |
OWASP2019-API3-h | 不正な書式制限の定義によるバッファー オーバーフローを避ける |
OWASP2019-API3-i | 汚染されたデータによるバッファー読み込み時のオーバーフローを避ける |
OWASP2019-API3-j | 汚染されたデータによるバッファー書き込み時のオーバーフローを避ける |
OWASP2019-API3-k | 疑似乱数生成器に適切なシードを指定する |
OWASP2019-API3-l | ログ ファイルに書き込む関数に機密データを渡さない |
OWASP2019-API3-m | シンボリック リンクの存在を確認する際の競合状態を避ける |
OWASP2019-API3-n | システム プロパティ (環境変数) の使用は制限されるべきである |
OWASP2019-API3-o | 時刻を使用する MFC ライブラリ関数を使用しないようにする |
OWASP2019-API3-p | アプリケーション エラーを例外メッセージに含めることによって、機密の可能性がある情報を出力してはならない |
OWASP2019-API3-q | データをユーザー領域にコピーできる関数に構造体へのポインターを渡すべきではない |
OWASP2019-API4-a | メモリ割り当サイズの決定に使用する前に、汚染されている可能性があるデータを検証する |
OWASP2019-API4-b | リソースが解放されていることを確認する |
OWASP2019-API7-a | errno 値を適切に使用する |
OWASP2019-API7-b | 1 つの try-catch 文または関数監視ブロックに派生クラスおよびそのすべてまたは一部の基底クラスのハンドラがある場合、最後に派生されたクラスから基底クラスへの順でハンドラを記述する |
OWASP2019-API7-c | catch ブロックを空のままにしない |
OWASP2019-API8-a | コマンド インジェクションから防御する |
OWASP2019-API8-b | 汚染されたデータを出力コンソールに出力してはならない |
OWASP2019-API8-c | 環境変数インジェクションから防御する |
OWASP2019-API8-d | ファイル名インジェクションから防御する |
OWASP2019-API8-e | フォーマット文字列からサニタイズされていないユーザー入力を除外する |
OWASP2019-API8-f | SQL インジェクションから防御する |
OWASP2019-API8-g | libxerces-c で XML 外部エンティティの解決 (XXE) を無効化する |
OWASP2019-API8-h | LoadLibrary() が正しいライブラリをロードするよう注意する |
OWASP2019-API8-i | 動的に作成された文字列を exec に渡さないようにする |
OWASP2019-API8-j | パラメータとしてユーザ入力をメソッドに渡してはいけない |
OWASP2019-API9-a | Assert を多く使用して内部的な仮定条件や不変条件を文書化する |
OWASP2019-API9-b | enum を使う場合、各メンバの値は明示的に宣言するべきである |
OWASP2019-API9-c | アセンブラの使用をすべて文書化する |
OWASP2019-API9-d | 浮動小数点型の算術を文書化する |
OWASP2019-API9-e | 外部リンケージを持つオブジェクトまたは関数は、ヘッダー ファイルで宣言しなければならない |
OWASP2019-API9-f | 整数の除算を文書化する |
OWASP2019-API9-g | 用いる #pragma 指令は、すべて文書化し、説明しなければならない |
PFO-10 | ヘッダー ファイルに複数のクラスを定義しない |
PREPROC-10_b | #endif プリプロセッサ命令は、同じファイルの多重インクルードを防ぐためだけに使用する |
PREPROC-10_c | #if プリプロセッサ命令は、同じファイルの多重インクルードを防ぐためだけに使用する |
PREPROC-11_b | #if プリプロセッサ命令を使用するべきではない |
PREPROC-25 | #undef を使用するべきではない |
PREPROC-26 | #ifndef、#ifdef、#if、#elif、#else、#endif プリプロセッサ命令は条件付きのファイル インクルードおよびインクルード ガードにだけ使用する |
更新されたルール
以下のルールの出力メッセージが更新されました。そのため、以前に DTP で関連付けられたこれらのルールの抑制はもう利用できない場合があります。
- PREPROC-01
非型テンプレート パラメーターのサポートを拡張するため、以下のルールが改善されました。これにより、出力メッセージが変わる場合があります。結果として、DTP でこれらのルールに関連付けられていた抑制は利用できなくなる可能性があります。
- GLOBAL-TEMPLNOINST
- GLOBAL-UNUSEDFUNC
- GLOBAL-VIRTBASECLASS
- GLOBAL-VIRTINDIAMOND
その他の更新されたルール
カテゴリ ID | ルール ID |
---|---|
AUTOSAR C++14 Coding Guidelines | AUTOSAR-A0_1_1-a, AUTOSAR-A0_1_6-a, AUTOSAR-A12_1_1-b, AUTOSAR-A12_1_5-a, AUTOSAR-A12_7_1-a, AUTOSAR-A13_2_3-a, AUTOSAR-A15_5_3-f, AUTOSAR-A16_0_1-a, AUTOSAR-A16_0_1-b, AUTOSAR-A16_0_1-c, AUTOSAR-A18_9_3-a, AUTOSAR-A1_1_1-i, AUTOSAR-A23_0_1-a, AUTOSAR-A27_0_2-a, AUTOSAR-A2_10_1-c, AUTOSAR-A2_10_1-e, AUTOSAR-A2_8_1-a, AUTOSAR-A3_1_5-a, AUTOSAR-A3_9_1-b, AUTOSAR-A5_10_1-a, AUTOSAR-A5_2_2-a, AUTOSAR-A5_2_5-a, AUTOSAR-A5_2_5-c, AUTOSAR-A7_1_1-a, AUTOSAR-A8_4_3-b, AUTOSAR-A8_4_9-a, AUTOSAR-A8_5_2-a, AUTOSAR-M0_1_2-aa, AUTOSAR-M0_1_2-ac, AUTOSAR-M0_1_2-t, AUTOSAR-M0_1_9-a, AUTOSAR-M0_3_1-d, AUTOSAR-M0_3_1-g, AUTOSAR-M15_3_1-a, AUTOSAR-M3_2_2-a, AUTOSAR-M3_2_4-a, AUTOSAR-M4_10_2-a, AUTOSAR-M5_0_15-a, AUTOSAR-M5_0_16-a, AUTOSAR-M5_0_16-b, AUTOSAR-M5_0_2-a, AUTOSAR-M5_0_4-a, AUTOSAR-M5_0_6-a, AUTOSAR-M5_0_7-a, AUTOSAR-M5_2_10-a, AUTOSAR-M6_2_3-a, AUTOSAR-M7_1_2-b, AUTOSAR-M7_1_2-c, AUTOSAR-M8_4_4-a, AUTOSAR-M8_5_2-a |
フロー解析 | BD-PB-ARRAY, BD-PB-CC, BD-PB-ERRNO, BD-PB-OVERFNZT, BD-PB-PTRARR, BD-PB-VALRANGE, BD-PB-VOVR, BD-RES-INVFREE, BD-TRS-DIFCS, BD-TRS-DLOCK |
SEI CERT C | CERT_C-ARR30-a, CERT_C-ARR38-d, CERT_C-ARR39-a, CERT_C-CON31-c, CERT_C-CON35-a, CERT_C-DCL00-a, CERT_C-DCL13-a, CERT_C-DCL22-a, CERT_C-ERR30-a, CERT_C-ERR32-a, CERT_C-EXP08-b, CERT_C-EXP35-a, CERT_C-FIO37-a, CERT_C-FIO38-a, CERT_C-FLP34-a, CERT_C-INT10-a, CERT_C-INT31-a, CERT_C-MEM34-a, CERT_C-MSC19-a, CERT_C-POS30-a, CERT_C-POS47-a, CERT_C-STR03-a, CERT_C-STR31-a, CERT_C-STR32-a |
SEI CERT C++ | CERT_CPP-CON56-a, CERT_CPP-CTR50-a, CERT_CPP-ERR50-f, CERT_CPP-ERR58-a, CERT_CPP-STR50-b, CERT_CPP-STR53-a |
コーディング規約 | CODSTA-131, CODSTA-161_a, CODSTA-166_a, CODSTA-166_b, CODSTA-181, CODSTA-196, CODSTA-198 |
C++ コーディング規約 | CODSTA-CPP-101, CODSTA-CPP-105, CODSTA-CPP-32, CODSTA-CPP-43, CODSTA-CPP-53, CODSTA-CPP-63, CODSTA-CPP-66, CODSTA-CPP-83, CODSTA-CPP-85 |
Modern C++ コーディング規約 | CODSTA-MCPP-06_b, CODSTA-MCPP-26, CODSTA-MCPP-38, CODSTA-MCPP-42, CODSTA-MCPP-51 |
Common Weakness Enumeration | CWE-119-a, CWE-125-a, CWE-787-a |
例外 | EXCEPT-08 |
Formatting | FORMAT-16 |
グローバル解析 | GLOBAL-ONEDEFINLINE, GLOBAL-ONEDEFRULE, GLOBAL-ONEEXTERNDEF, GLOBAL-UNUSEDTYPE |
High Integrity C++ | HICPP-12_4_2-a, HICPP-12_5_2-a, HICPP-13_2_2-a, HICPP-16_1_1-b, HICPP-16_1_1-c, HICPP-17_4_1-a, HICPP-18_3_1-a, HICPP-1_2_1-i, HICPP-1_2_2-a, HICPP-1_3_1-a, HICPP-3_1_1-c, HICPP-3_1_1-e, HICPP-5_1_2-h, HICPP-5_2_1-a, HICPP-5_7_2-a, HICPP-7_1_2-a, HICPP-7_4_2-a, HICPP-8_4_2-a |
初期化 | INIT-06, INIT-16 |
Joint Strike Fighter | JSF-026, JSF-028, JSF-071_b, JSF-109, JSF-117.1, JSF-118, JSF-121, JSF-135_c, JSF-135_e, JSF-144, JSF-164, JSF-185, JSF-187 |
メトリクス解析 | METRIC.CC, METRIC.DIF |
メトリクス | METRICS-40 |
MISRA C 1998 | MISRA-054 |
MISRA C 2004 | MISRA2004-10_1_a, MISRA2004-10_1_d, MISRA2004-10_4, MISRA2004-12_13, MISRA2004-12_1_a, MISRA2004-13_7_aj, MISRA2004-13_7_ak, MISRA2004-14_2, MISRA2004-14_3, MISRA2004-16_7, MISRA2004-16_9, MISRA2004-17_4, MISRA2004-9_2 |
MISRA C++ 2008 | MISRA2008-0_1_2_aa, MISRA2008-0_1_2_k, MISRA2008-0_1_2_l, MISRA2008-0_1_5, MISRA2008-0_1_6, MISRA2008-0_1_9, MISRA2008-0_3_1_a, MISRA2008-0_3_1_e, MISRA2008-15_3_1, MISRA2008-15_5_3_f, MISRA2008-16_0_3, MISRA2008-16_2_1_b, MISRA2008-16_2_1_c, MISRA2008-3_2_2, MISRA2008-3_2_4, MISRA2008-4_10_2, MISRA2008-5_0_15, MISRA2008-5_0_16_a, MISRA2008-5_0_16_b, MISRA2008-5_0_2_a, MISRA2008-5_0_4_a, MISRA2008-5_0_6_a, MISRA2008-5_0_7_b, MISRA2008-5_2_10, MISRA2008-5_2_4, MISRA2008-6_2_3, MISRA2008-7_1_1, MISRA2008-7_1_2_a, MISRA2008-7_1_2_b, MISRA2008-8_4_4, MISRA2008-8_5_2 |
MISRA C 2012 (レガシー) | MISRA2012-DIR-4_13_c, MISRA2012-DIR-4_13_e, MISRA2012-DIR-4_1_a, MISRA2012-DIR-4_1_e, MISRA2012-RULE-10_1_a, MISRA2012-RULE-11_9_a, MISRA2012-RULE-11_9_b, MISRA2012-RULE-14_3_za, MISRA2012-RULE-14_3_zb, MISRA2012-RULE-14_3_zc, MISRA2012-RULE-18_1_a, MISRA2012-RULE-18_1_c, MISRA2012-RULE-18_4, MISRA2012-RULE-20_5, MISRA2012-RULE-21_17_a, MISRA2012-RULE-22_10, MISRA2012-RULE-22_2_b, MISRA2012-RULE-22_5_a, MISRA2012-RULE-22_5_b, MISRA2012-RULE-22_8, MISRA2012-RULE-22_9, MISRA2012-RULE-2_2_a, MISRA2012-RULE-2_2_b, MISRA2012-RULE-8_13_a, MISRA2012-RULE-8_6, MISRA2012-RULE-9_2 |
MISRA C 2012 | MISRAC2012-DIR_4_1-a, MISRAC2012-DIR_4_1-e, MISRAC2012-DIR_4_13-c, MISRAC2012-DIR_4_13-e, MISRAC2012-RULE_10_1-a, MISRAC2012-RULE_11_9-a, MISRAC2012-RULE_11_9-b, MISRAC2012-RULE_14_3-aa, MISRAC2012-RULE_14_3-ab, MISRAC2012-RULE_14_3-ac, MISRAC2012-RULE_18_1-a, MISRAC2012-RULE_18_1-c, MISRAC2012-RULE_18_4-a, MISRAC2012-RULE_20_5-a, MISRAC2012-RULE_21_17-a, MISRAC2012-RULE_22_10-a, MISRAC2012-RULE_22_2-b, MISRAC2012-RULE_22_5-a, MISRAC2012-RULE_22_5-b, MISRAC2012-RULE_22_8-a, MISRAC2012-RULE_22_9-a, MISRAC2012-RULE_2_2-a, MISRAC2012-RULE_2_2-b, MISRAC2012-RULE_8_13-a, MISRAC2012-RULE_8_6-a, MISRAC2012-RULE_9_2-a |
名前付け規則 | NAMING-32 |
最適化 | OPT-05, OPT-25 |
OWASP Top 10 Most Critical Web Application Security Risks (2017) | OWASP2017-A6-c |
プリプロセッサ | PREPROC-10, PREPROC-11 |
セキュリティ | SECURITY-43 |
削除されたルール
カテゴリ ID | ルール ID |
---|---|
AUTOSAR C++14 Coding Guidelines | AUTOSAR-A3_9_1-a, AUTOSAR-M5_0_4-b |
High Integrity C++ | HICPP-17_3_5-b |
MISRA C 2004 | MISRA2004-10_1_h |
MISRA C++ 2008 | MISRA2008-5_0_4_b |