このリリースには以下の拡張が含まれます。
リリース日: 2024年5月29日
アップグレードに関する注意点
- DTP または License Server から C/C++test 2024.1 のライセンスを取得するには、DTP または License Server 2024.1 が必要です。正常に製品のライセンスを取得するには、C/C++test 2024.1 にアップグレードする前に DTP または License Server 2024.1 にアップグレードする必要があります。
- DTP および License Server には HTTPS 経由で接続する必要があります。HTTP はサポートされなくなりました。
Security Compliance パックの拡張
- Security Pack が拡張され、セキュリティ規格へのコンプライアンス達成に役立つ新規テスト コンフィギュレーション CWE Top 25 2023 および CWE Top 25 + on the Cusp 2023 が追加されました。
- DISA ASD STIG ルール セットおよび DISA-ASD-STIG テスト コンフィギュレーションに DISA-ASD-STIG 2022-09 標準の変更が反映されました。
静的解析の拡張
- フロー解析エンジンが拡張され、初期化子および構造化束縛付きの if 文を含むモダン C++ 構文のサポートが強化されました。これらの拡張により、より正確なコード実行のシミュレーションが可能になり、レポートされる指摘事項の精度が向上します。
- 一部の MISRA C++ 2023 ルールの精度が改善されました。
- 一部のルールのルール パラメータライズ機能が拡張されました。
- 新規コード解析ルールが追加され、より広くコンプライアンス規格がカバーされるようになりました。追加および更新されたルールの一覧は「新規ルール」、「更新されたルール」を参照してください。
カバレッジ解析の拡張
コード カバレッジのレポートのサポートが拡張されました。判断文の結果がコンパイル時に判明している場合に判断文 / 分岐ポイントを無視するというレポート モードを有効化できるようになりました。詳細については、「判断文の結果がコンパイル時に判明している場合に判断文 / 分岐ポイントを無視する」を参照してください。
サポート対象コンパイラ
以下のコンパイラがサポートされています。
コンパイラ名 | コンパイラ識別子 |
---|---|
GCC for Tricore 4.9.x | tricoregcc_4_9 |
HighTec Clang C/C++ Compiler 8.1 (aarch32/arm)* | hightec-clang_8_1-aarch32 |
IAR Compiler for ARM v. 9.40x | iccarm_9_40 |
IAR Compiler for ARM v. 9.50x | iccarm_9_50 |
QNX GCC 8.x (ARM64)** | qccarm_8-64 |
QNX GCC 8.x (x86_64)** | qcc_8-64 |
* - 静的解析のみ。
** - サポート レベルが Standard から Extended に更新されました。
「コンパイラ」を参照してください。
サポート対象 IDE
Eclipse バージョン 4.21 (2021-09) - 4.31 (2024-03) がサポートされました。
追加または更新されたテスト コンフィギュレーション
Security Compliance Pack が拡張され、以下のテスト コンフィギュレーションのサポートが追加されました。
- CWE Top 25 2023
- CWE Top 25 + On the Cusp 2023
- OWASP API Security Top 10-2023
以下のテスト コンフィギュレーションに新規ルールが追加されました。
- DISA-ASD-STIG
その他のアップデート
Bazel ビルド システム統合が拡張されました。Bazel のコード カバレッジ収集がサポートされました。詳細については 「Bazel との統合」を参照してください。
- スタンドアロンの License Server が認証を要求するよう設定されている場合、接続で認証を有効化できるようになりました。「ライセンス」および license.network.auth.enabled を参照してください。
- report.xml.param{n}.key および report.xml.param{n}.value オプションを使用して report.xml に追加するカスタム パラメーターを指定できるようになりました。
parasoft-instrumentation coverage
コメントを使用し、特定の関数のカバレッジ インストゥルメンテーションを無効または有効にできます。「カバレッジ インストゥルメンテーションの部分的な無効化」を参照してください。- 付属の JRE がバージョン 17.0.10+7 にアップデートされました。
サポートの非推奨および廃止
非推奨予定のコンパイラ
次のコンパイラのサポートは、将来のリリースで非推奨になる予定です。
- ARM Compiler 5.0
- ARM Compiler 5.0 for uVision
- GNU GCC 4.9.x (mips64el)
- Green Hills Software Compiler for PPC v. 2013.1.x
- IAR Compiler for MSP430 v. 6.1x
- Microchip MPLAB C30 Compiler for dsPIC v3.2x
- National Instruments LabWindows/CVI 2015 Clang C/C++ Compiler v3.3 for Win32
- Renesas RX C/C++ Compiler 2.5x
非推奨のコンパイラ
次のコンパイラのサポートは非推奨であり、将来のリリースで削除される予定です。
- GNU GCC 5.x
- GNU GCC 5.x (x86_64)
- GNU GCC 6.x
- GNU GCC 6.x (x86_64)
- Green Hills Software Compiler for ARM64 v. 2014.1.x
- Green Hills Software Compiler for PPC v. 4.2.x
- Green Hills Software Compiler for PPC v. 5.0.x
- Green Hills Software Compiler for V850 v. 2014.1.x
- IAR Compiler for ARM v. 7.4x
- IAR Compiler for ARM v. 7.8x
- IAR Compiler for M16C & R8C v. 3.5x
- Microsoft Visual C++ 14.0
- Microsoft Visual C++ 14.0 (x64)
- SH Series C/C++ Compiler V.9.04.xx
- Vx-toolset for TriCore C/C++ Compiler 6.2
- Wind River GCC 4.8.x
廃止されたコンパイラ
以下のコンパイラはサポートされなくなりました。
- Clang C/C++ Compiler v 6.0
- FR Family Softune C/C++ Compiler V6
- TI MSP430 C/C++ Compiler GNU GCC 6.x
- TI TMS320C2000 C/C++ Compiler v16.9
解決済みのバグおよび FR
バグ/FR ID | 説明 |
---|---|
CPP-36809 | [coverage] 判断文の結果がコンパイル時に判明している場合に判断文 / 分岐ポイントを無視する |
CPP-50180 | [static] MISRA2004-10_1_a (MISRA2008-5_0_4_a) が列挙定数に対して違反を誤検出する |
CPP-51512 | [coverage] "parasoft-instrumentation coverage off/on" コメントの文書化 |
CPP-52296 | [compiler] IAR ARM 9.40 のサポート (windows, extended, full) |
CPP-52872 | [静的] AUTOSAR M5-8-1 のマッピングを改善する |
CPP-52955 | [static] MISRA2008 5-8-1 (AUTOSAR M5-8-1) ルールのマッピングの拡張 |
CPP-54945 | [engine] インストゥルメンテーションがコンパイルできない - error: invalid redeclaration of member function template |
CPP-55003 | [static] MISRA2008-7_5_4 / AUTOSAR-A7_5_2-a のマッピングを改善する- |
CPP-55518 | [compiler] HighTec C compiler for ARM (based on LLVM 13.x) のサポート - 静的解析 |
CPP-55598 | [static] CWE 390 Error Without Action のマッピングの追加 |
CPP-55599 | [static] CWE 398 Poor Code Quality のマッピングの追加 |
CPP-55734 | [static] RapidJSON プロジェクトの CDD-DUPI で解析がハングする |
CPP-55746 | [static] HIC++ 7.1.6 要件のマッピングの改善 |
CPP-55821 | [compiler] HighTec TriCore 4.9 のサポート (windows, extended, full) |
CPP-56183 | [static] CODSTA-14 が非ポインター/非参照型からのキャストに対して違反を誤検出する |
CPP-56220 | [static] CODSTA-CPP-92 (MISRA2008-10_2_1-a, AUTOSAR-M10_2_1) が別のファイルで定義されたクラスまたは継承階層で同じ基底名が使用されているクラスに対して違反をレポートしない |
CPP-56270 | [static] 'NULL' マクロがリテラル '0' 以外の値に展開される場合、CODSTA-CPP-62 (MISRA2008-4_10_1, AUTOSAR-A4_10_1-a, AUTOSAR-M4_10_1-a) が違反をレポートしない |
CPP-56272 | [engine] error: "final" is not a function or static data member |
CPP-56284 | [static] CODSTA-MCPP-11_a_cpp11 (AUTOSAR-A7_1_2-a) がコンパイラ生成の変数に対して違反を誤検出する |
CPP-56286 | [static] MISRACPP2023 Rule 6.7.2 のマッピングの改善 |
CPP-56434 | [static] CODSTA-63 ルールを分割し、(オプションとして) ビット演算子で使用されている正の定数整数に対する違反のレポートを除外する |
CPP-56435 | [engine] Android NDK の _attribute_((overloadable)) の二重定義 |
CPP-56463 | [static] MISRA C++:2023 7.0.1 および 7.0.3 に追加の例外を導入し、関数からの戻り値の破棄を許可する (CODSTA-CPP-211, CODSTA-316) |
CPP-56467 | [build] ファイル パス中のスペースでの cpptesttrace エラー |
CPP-56491 | [static] MISRACPP2023 Rule 16.6.1 のマッピングの改善 |
CPP-56502 | [static] 'TRUE' がある行にマクロの使用が含まれている場合、CODSTA-60 (CERT_C-EXP20-a) が違反をレポートしない |
CPP-56507 | [static] OPT-03 (AUTOSAR-A0_1_4-a) のドキュメントを更新し、テンプレートの 'if constexpr' で使用されるパラメーターの説明を更新する |
CPP-56508 | [static] INTERNAL-GLOBAL-ONEUSEVAR_1 がテンプレートで python エラーをレポートする |
CPP-56513 | [engine] Parse error: atomic constraint depends on itself |
CPP-56566 | [static] MISRACPP2023 Rule 8.2.5 のマッピングの改善 |
CPP-56572 | [engine] parse error: parameter pack "types_t" was referenced but not expanded |
CPP-56582 | [ide] 大規模なワークスペースでの C/C++test Pro の静的解析を最適化する |
CPP-56583 | [engine] error: more than one instance of function "<unnamed>::TraceInternals::GetProcAddress" matches the argument list |
CPP-56584 | [engine] コマンドライン エラー: invalid macro definition when using /D with # |
CPP-56592 | [compiler] QNX GCC 8 (x86-64, arm64) のサポートの拡大 |
CPP-56601 | [engine] error: a ref-qualifier is not allowed here |
CPP-56656 | [static] MISRACPP2023-9_5_1-a (CODSTA-315) 認識されたループ カウンターと loop bound 型の不一致に対して違反が誤検出される |
CPP-56658 | [static] CWE-190 Integer Overflow のマッピングを改善する |
CPP-56660 | [static] CWE-366 Race Condition Within Thread のマッピングを追加する |
CPP-56663 | [static] private メンバーがインナー クラスの関数で使用されている場合、OPT-05 (AUTOSAR-M0_1_3-c) が違反を誤検出する |
CPP-56665 | [engine] error: no instance of overloaded function rapidjson::GenericValue |
CPP-56676 | [engine] edgtk mangler に新しいビルトイン型のサポートを追加する |
CPP-56717 | [static]CODSTA-CPP-82 (MISRACPP2023-6_7_2-a) がグローバル constexpr 変数に対して違反を誤検出する |
CPP-56722 | [static] MISRA2004-14_1_a (MISRACPP2023-0_0_1-a) が 'else' を持つ 'if constexpr' 文の後のコードに対して違反を誤検出する |
CPP-56728 | [rulewizard] 'if constrexpr-else' 構文の後に空の文が誤検出される |
CPP-56735 | [engine] カバレッジのためにインストゥルメントすると cpptestcc がクラッシュする |
CPP-56745 | [static] 対応するソース ファイルがないヘッダーをテスト対象ファイルの総数にレポートしない |
CPP-56749 | [engine] hexagon_clang の target_gnu_version が誤っており、指示付き初期化子を破壊する |
CPP-56783 | [static] MISRACPP2023-9_5_1-a: 違反メッセージを改善する |
CPP-56784 | [static] INIT-19 (MISRACPP2023-15_1_4-a) がデフォルトのコピー コンストラクターおよびムーブ コンストラクターに対して違反を誤検出する |
CPP-56785 | [static] MISRACPP2023-6_7_2-a がグローバル constexpr 変数に対して違反を誤検出する |
CPP-56786 | [static] FORMAT-48 (MISRACPP2023-6_0_1-b) が noexcept で使用されているパラメーターに対して違反を誤検出する |
CPP-56788 | [static] MISRACPP2023-16_6_1-a が対称ではない << 演算子に対して違反を誤検出する |
CPP-56789 | [static] MISRACPP2023-5_10_1-a がネストされた "posix" 名前空間に対して違反を誤検出する |
CPP-56801 | [static] BD-PB-VOVR のビルトイン クローンの [変数宣言に対して違反をレポートする] > [未使用の未初期化プリミティブ型およびポインターを含める] パラメーターのデフォルト値を変更する |
CPP-56804 | [engine] vc_14_3 コンパイラの edg.microsoft_version を 1939 にアップデートする |
CPP-56911 | [engine] C/C++test が std::tuple を使用する関数のスタブを認識しない |
CPP-56918 | [build] cpptest_bdf.bzl に 2 つのコーディング エラーがある |
CPP-56924 | [engine] IAR Compiler 9.10 で可変配列メンバー初期化パース エラー |
CPP-56925 | [engine] error: the template argument list of the partial specialization includes a nontype argument whose type depends on a template parameter |
CPP-57059 | [engine] クラス テンプレートが template テンプレート パラメーターと互換性がない |
CPP-57360 | [engine] Clang 10 以上で汎用 template テンプレート パラメーターをサポートする |
CPP-57372 | [engine] シグナル 11 が受信される: Stack trace: 0# 0x00007FC1B9C81090 in /lib/x86_64-linux-gnu/libc.so.6 |
FA-9453 | C 標準ライブラリの realloc 関数の誤ったモデル化 Juliet/CWE-401 |
FA-9689 | BD-PB-VOVR が java.lang.OutOfMemoryError をスローする |
FA-9692 | BD-PB-ARRAY(MISRAC2012-DIR_4_1-a) - 誤検出 |
FA-9713 | BD-PB-OVERFFMT '*' string 精度に対する誤検出 |
FA-9736 | 共用体メンバーに格納された値が誤っている |
FA-9787 | BD-PB-OVERFNZT の誤検出 |
FA-9795 | BD-PB-NOTINIT の誤検出 |
FA-9841 | BD-PB-ARRAY の誤検出 |
FA-9842 | BD-PB-CC の誤検出 |
FA-9847 | sizeof byte != 8 のコンパイラを使用した場合、インクリメンタル解析の結果が誤っている可能性がある |
FA-9852 | BD-PB-ARRAY の動作に一貫性がない |
FA-9856 | BD-PB-NOTINIT が参照による呼び出し先関数内での配列初期化に対して違反を誤検出する |
FA-9866 | MISRA ルールの違反の誤検出の可能性 (BD-API-STRSIZE, BD-PB-OVERFRD) |
FA-9883 | BD-PB-ARRAY がネストされた構造体に対して違反を検出する |
ルールの更新
新規ルール
ルール ID | ヘッダー |
---|---|
APSC_DV-000060-a | 安全な一時ファイル名関数を使用する |
APSC_DV-000060-b | mkstemp を呼び出す前に umask を呼び出す |
APSC_DV-000510-a | mkstemp を呼び出す前に umask を呼び出す |
APSC_DV-000510-b | chroot を呼び出す場合、chdir を呼び出す |
APSC_DV-001350-a | 弱い暗号化関数を使用してはならない |
APSC_DV-001360-a | 弱い暗号化関数を使用してはならない |
APSC_DV-001370-a | セキュリティ上の理由で乱数が必要な場合に、標準の乱数ジェネレータを使用してはならない |
APSC_DV-001370-b | 弱い暗号化関数を使用してはならない |
APSC_DV-002020-a | セキュリティ上の理由で乱数が必要な場合に、標準の乱数ジェネレータを使用してはならない |
APSC_DV-002020-b | 弱い暗号化関数を使用してはならない |
APSC_DV-002030-a | セキュリティ上の理由で乱数が必要な場合に、標準の乱数ジェネレータを使用してはならない |
APSC_DV-002030-b | 弱い暗号化関数を使用してはならない |
APSC_DV-002040-a | セキュリティ上の理由で乱数が必要な場合に、標準の乱数ジェネレータを使用してはならない |
APSC_DV-002040-b | 弱い暗号化関数を使用してはならない |
APSC_DV-002050-a | セキュリティ上の理由で乱数が必要な場合に、標準の乱数ジェネレータを使用してはならない |
APSC_DV-002050-b | 乱数生成関数 'rand()' および 'srand()' を使用するべきではない |
APSC_DV-002050-c | 疑似乱数生成器に適切なシードを指定する |
APSC_DV-002380-a | データをユーザー領域にコピーできる関数に構造体へのポインターを渡すべきではない |
APSC_DV-002485-a | 文字列リテラルをハード コードしない |
APSC_DV-002485-b | システム プロパティ (環境変数) の使用は制限されるべきである |
APSC_DV-002580-a | ログ ファイルに書き込む関数に機密データを渡さない |
APSC_DV-002580-b | アプリケーション エラーを例外メッセージに含めることによって、機密の可能性がある情報を出力してはならない |
APSC_DV-003100-a | 弱い暗号化関数を使用してはならない |
APSC_DV-003120-a | ログ ファイルに書き込む関数に機密データを渡さない |
APSC_DV-003120-b | アプリケーション エラーを例外メッセージに含めることによって、機密の可能性がある情報を出力してはならない |
APSC_DV-003120-c | データをユーザー領域にコピーできる関数に構造体へのポインターを渡すべきではない |
APSC_DV-003140-a | 弱い暗号化関数を使用してはならない |
APSC_DV-003235-c | 関数がエラー情報を戻す場合、エラー情報をテストしなければならない |
APSC_DV-003235-d | 1 つの try-catch 文または関数監視ブロックに派生クラスおよびそのすべてまたは一部の基底クラスのハンドラがある場合、最後に派生されたクラスから基底クラスへの順でハンドラを記述する |
APSC_DV-003280-a | 文字列リテラルをハード コードしない |
APSC_DV-003320-a | 'vfork()' 関数を使用しない |
APSC_DV-003320-b | スレッド セーフでない関数を使用してはならない |
APSC_DV-003320-c | メモリ割り当サイズの決定に使用する前に、汚染されている可能性があるデータを検証する |
APSC_DV-003320-d | 汚染されている可能性があるデータをループの制御式で使用する前に検証する |
AUTOSAR-A12_8_5-b | ユーザー定義のムーブ代入演算子は自己代入に対処する必要がある |
AUTOSAR-A15_5_2-d | 'terminate' 関数を使用するべきではない |
AUTOSAR-A3_1_1-b | 内部リンケージを持つ関数および非定数オブジェクトをヘッダー ファイルで宣言するべきではない |
AUTOSAR-M5_0_21-b | ビット演算子は正数の整数リテラルをオペランドとして使用してはならない |
AUTOSAR-M5_8_1-b | シフト演算子の右辺のオペランドは、ゼロと左辺のオペランドの実質型のビット数より 1 少ない数の間でなければならない |
BD-SECURITY-TDINTOVERF | 汚染されたデータの潜在的な整数オーバーフロー/アンダーフローを避ける |
CERT_C-INT13-b | シフト演算子のオペランドは符号なしの型でなければならない |
CERT_C-INT16-b | ビット演算子は正数の整数リテラルをオペランドとして使用してはならない |
CODSTA-244 | SIG_IGN の値を使用した 'signal()' 関数の呼び出し以外の <signal.h> のシグナル処理機能を使用してはならない |
CODSTA-63_a | ビット演算子は正数の整数リテラルをオペランドとして使用してはならない |
CODSTA-CPP-20_b | 対称的な演算子は非メンバー関数として実装するべきである |
CODSTA-CPP-213 | 例外フレンドリーではない関数には 'noexcept' 関数だけを渡す |
CODSTA-MCPP-62 | 標準整数型の定数式で初期化される変数は 'auto' 指定子付きで定義されるべきではない |
CWE-125-e | 汚染されたデータを配列添え字として使用しない |
CWE-190-j | 整数型の変換によるデータの損失を避ける |
CWE-190-k | 汚染されたデータの潜在的な整数オーバーフロー/アンダーフローを避ける |
CWE-366-a | スレッド間のデータ競合があってはならない |
CWE-390-a | 空の 'catch' ブロックを使用するべきではない |
CWE-390-b | 本文が空の 'if' 文の使用を避ける |
CWE-787-h | 汚染されたデータを配列添え字として使用しない |
HICPP-5_6_1-b | ビット演算子は正数の整数リテラルをオペランドとして使用してはならない |
JSF-039_b | 内部リンケージを持つ関数および非定数オブジェクトをヘッダー ファイルで宣言するべきではない |
MISRA2008-3_1_1_b | One Definition ルールに違反せずに、複数の翻訳単位でインクルードできなければならない |
MISRA2008-5_0_21_b | ビット演算子は正数の整数リテラルをオペランドとして使用してはならない |
MISRA2008-5_8_1_b | 定数式シフト演算子の右側のオペランドの値は、0 以上かつ左辺のオペランドの潜在型のビット幅未満でなければならない |
MISRACPP2023-15_8_1-b | ユーザー定義のムーブ代入演算子は自己代入に対処する必要がある |
MISRACPP2023-18_4_1-c | 例外フレンドリーではない関数には 'noexcept' 関数だけを渡す |
MISRACPP2023-18_5_2-d | 'terminate' 関数を使用するべきではない |
MISRACPP2023-7_11_2-b | 配列型のオブジェクトを関数の可変長引数として渡すべきではない |
OOP-34_b | ユーザー定義のムーブ代入演算子は自己代入に対処する必要がある |
OPT-49 | 空の文を使用するべきではない |
OPT-50 | 空の複合文を使用するべきではない |
OPT-51 | 本文が空の 'if' 文の使用を避ける |
OWASP2023-API10-a | 汚染されたデータを配列添え字として使用しない |
OWASP2023-API10-b | 汚染されたデータの潜在的な整数オーバーフロー/アンダーフローを避ける |
OWASP2023-API10-c | 未検証のバイナリ データをログ記録メソッドに渡さない |
OWASP2023-API10-d | コマンド インジェクションから防御する |
OWASP2023-API10-e | 汚染されたデータを出力コンソールに出力してはならない |
OWASP2023-API10-f | 環境変数インジェクションから防御する |
OWASP2023-API10-g | フォーマット文字列からサニタイズされていないユーザー入力を除外する |
OWASP2023-API10-h | SQL インジェクションから防御する |
OWASP2023-API10-i | ファイル名インジェクションから防御する |
OWASP2023-API10-j | 信頼性のないデータをループの境界として使用してはならない |
OWASP2023-API2-a | 弱い暗号化関数を使用してはならない |
OWASP2023-API3-a | 機密データの割り当てを解除する前に消去するべきである |
OWASP2023-API3-b | ログ ファイルに書き込む関数に機密データを渡さない |
OWASP2023-API3-c | アプリケーション エラーを例外メッセージに含めることによって、機密の可能性がある情報を出力してはならない |
OWASP2023-API4-a | メモリ割り当サイズの決定に使用する前に、汚染されている可能性があるデータを検証する |
OWASP2023-API4-b | 汚染されている可能性があるデータをループの制御式で使用する前に検証する |
OWASP2023-API4-c | 定義された上限を超える変数をスタックに配置しない |
OWASP2023-API4-d | リソースが解放されていることを確認する |
OWASP2023-API8-a | 1 つの try-catch 文または関数監視ブロックに派生クラスおよびそのすべてまたは一部の基底クラスのハンドラがある場合、最後に派生されたクラスから基底クラスへの順でハンドラを記述する |
OWASP2023-API8-b | 空の 'catch' ブロックを使用するべきではない |
OWASP2023-API8-c | errno 値を適切に使用する |
OWASP2023-API9-a | アセンブラの使用をすべて文書化する |
OWASP2023-API9-b | 外部リンケージを持つオブジェクトまたは関数は、ヘッダー ファイルで宣言しなければならない |
OWASP2023-API9-c | 用いる #pragma 指令は、すべて文書化し、説明しなければならない |
OWASP2023-API9-d | 関数定義の前のコメントで関数を文書化する |
PB-41_c | 配列型のオブジェクトを関数の可変長引数として渡すべきではない |
PB-75_d | 'terminate' 関数を使用するべきではない |
PFO-01_b | 内部リンケージを持つ関数および非定数オブジェクトをヘッダー ファイルで宣言するべきではない |
PORT-01_b | リテラル接尾辞の最初の文字として 'L' の小文字を使用してはならない |
TEMPL-07_b | テンプレート コンストラクターは、それを含むクラス型の単一の引数のオーバーロード解決に関与してはならない |
更新されたルール
カテゴリ ID | ルール ID |
---|---|
AUTOSAR C++14 Coding Guidelines | AUTOSAR-A0_1_1-a, AUTOSAR-A0_4_4-a, AUTOSAR-A12_4_1-a, AUTOSAR-A12_8_5-a, AUTOSAR-A14_5_1-a, AUTOSAR-A15_0_2-a, AUTOSAR-A15_1_4-a, AUTOSAR-A15_3_3-a, AUTOSAR-A15_5_2-b, AUTOSAR-A15_5_2-c, AUTOSAR-A15_5_3-d, AUTOSAR-A15_5_3-e, AUTOSAR-A18_0_2-a, AUTOSAR-A27_0_1-g, AUTOSAR-A27_0_1-h, AUTOSAR-A27_0_2-a, AUTOSAR-A3_1_1-a, AUTOSAR-A3_1_4-a, AUTOSAR-A3_3_1-b, AUTOSAR-A4_10_1-a, AUTOSAR-A5_10_1-a, AUTOSAR-A5_2_4-a, AUTOSAR-A5_2_5-a, AUTOSAR-A6_6_1-a, AUTOSAR-A7_1_2-a, AUTOSAR-A7_1_2-b, AUTOSAR-A7_5_2-a, AUTOSAR-A8_5_0-a, AUTOSAR-M0_1_1-c, AUTOSAR-M0_1_2-ac, AUTOSAR-M0_1_3-c, AUTOSAR-M0_1_4-a, AUTOSAR-M0_3_1-d, AUTOSAR-M0_3_1-g, AUTOSAR-M0_3_1-h, AUTOSAR-M0_3_1-i, AUTOSAR-M10_2_1-a, AUTOSAR-M15_1_3-a, AUTOSAR-M16_0_7-a, AUTOSAR-M18_0_3-a, AUTOSAR-M18_0_3-b, AUTOSAR-M18_0_3-c, AUTOSAR-M18_7_1-a, AUTOSAR-M4_10_1-a, AUTOSAR-M5_0_16-a, AUTOSAR-M5_0_21-a, AUTOSAR-M5_18_1-a, AUTOSAR-M5_2_12-a, AUTOSAR-M5_8_1-a, AUTOSAR-M6_6_2-a, AUTOSAR-M7_3_1-a |
C++ コーディング規約 | CODSTA-CPP-09, CODSTA-CPP-211, CODSTA-CPP-212, CODSTA-CPP-36, CODSTA-CPP-62, CODSTA-CPP-66, CODSTA-CPP-82, CODSTA-CPP-92, CODSTA-CPP-95_b |
モダン C++ コーディング規約 | CODSTA-MCPP-11_a_cpp11, CODSTA-MCPP-11_b_cpp11, CODSTA-MCPP-26 |
コーディング規約 | CODSTA-110, CODSTA-125, CODSTA-14, CODSTA-301, CODSTA-302, CODSTA-305, CODSTA-313, CODSTA-315, CODSTA-316, CODSTA-60, CODSTA-63, CODSTA-77 |
Common Weakness Enumeration | CWE-119-a, CWE-119-c, CWE-119-d, CWE-125-a, CWE-125-c, CWE-20-b, CWE-20-d, CWE-20-e, CWE-20-f, CWE-20-g, CWE-20-h, CWE-20-i, CWE-22-a, CWE-401-a, CWE-668-a, CWE-704-c, CWE-77-a, CWE-770-a, CWE-772-a, CWE-78-a, CWE-787-a, CWE-787-c, CWE-89-a |
DISA ASD STIG | APSC_DV-000480-a, APSC_DV-001290-a, APSC_DV-001300-a, APSC_DV-002000-a, APSC_DV-002400-a, APSC_DV-002510-a, APSC_DV-002520-a, APSC_DV-002520-b, APSC_DV-002520-c, APSC_DV-002520-f, APSC_DV-002520-h, APSC_DV-002520-i, APSC_DV-002520-j, APSC_DV-002530-a, APSC_DV-002530-b, APSC_DV-002530-c, APSC_DV-002530-f, APSC_DV-002530-h, APSC_DV-002530-i, APSC_DV-002530-j, APSC_DV-002540-a, APSC_DV-002550-a, APSC_DV-002550-b, APSC_DV-002550-c, APSC_DV-002550-f, APSC_DV-002550-h, APSC_DV-002550-i, APSC_DV-002550-j, APSC_DV-002560-a, APSC_DV-002560-b, APSC_DV-002560-c, APSC_DV-002560-f, APSC_DV-002560-h, APSC_DV-002560-i, APSC_DV-002560-j, APSC_DV-002590-a, APSC_DV-002590-b, APSC_DV-002590-c, APSC_DV-002590-g, APSC_DV-003235-a, APSC_DV-003235-b |
例外 | EXCEPT-06, EXCEPT-07, EXCEPT-25 |
フロー解析 | BD-API-BADPARAM, BD-API-VALPARAM, BD-CO-ITINVCOMP, BD-PB-ARRAY, BD-PB-BADSHIFT, BD-PB-CC, BD-PB-MCCSTR, BD-PB-NOTINIT, BD-PB-OVERFFMT, BD-PB-OVERFNZT, BD-PB-OVERFRD, BD-PB-UCMETH, BD-PB-VOVR, BD-RES-LEAKS, BD-SECURITY-TDALLOC, BD-SECURITY-TDCMD, BD-SECURITY-TDCONSOLE, BD-SECURITY-TDENV, BD-SECURITY-TDFNAMES, BD-SECURITY-TDINPUT, BD-SECURITY-TDLOOP, BD-SECURITY-TDSQL, BD-TRS-THRDR |
書式 | FORMAT-48 |
グローバル静的解析 | GLOBAL-ONEUSEVAR |
High Integrity C++ | HICPP-15_3_2-b, HICPP-1_2_1-a, HICPP-1_2_1-h, HICPP-1_2_1-i, HICPP-4_1_1-a, HICPP-4_2_2-f, HICPP-5_1_2-i, HICPP-5_2_1-a, HICPP-5_4_1-b, HICPP-5_6_1-a, HICPP-5_7_2-a, HICPP-6_3_1-b, HICPP-8_4_1-a |
初期化 | INIT-101, INIT-19 |
Joint Strike Fighter | JSF-021_b, JSF-023, JSF-024, JSF-024_b, JSF-024_d, JSF-039_a, JSF-081, JSF-097_d, JSF-098, JSF-164, JSF-168_b, JSF-183_b, JSF-185, JSF-186_a, JSF-189, JSF-207 |
MISRA C 2004 | MISRA2004-10_1_g, MISRA2004-12_10, MISRA2004-14_1_a, MISRA2004-14_4, MISRA2004-19_11_b, MISRA2004-20_10, MISRA2004-20_11, MISRA2004-20_11_b, MISRA2004-20_11_d, MISRA2004-20_8_b, MISRA2004-8_12 |
MISRA C 2012 (Legacy) | MISRA2012-DIR-4_11, MISRA2012-DIR-4_13_a, MISRA2012-DIR-4_14_b, MISRA2012-DIR-4_14_e, MISRA2012-DIR-4_14_f, MISRA2012-DIR-4_14_g, MISRA2012-DIR-4_14_j, MISRA2012-DIR-4_14_k, MISRA2012-DIR-4_14_l, MISRA2012-DIR-4_1_a, MISRA2012-DIR-4_1_d, MISRA2012-DIR-4_1_e, MISRA2012-DIR-4_1_g, MISRA2012-DIR-5_1_c, MISRA2012-RULE-11_2, MISRA2012-RULE-11_8, MISRA2012-RULE-12_2, MISRA2012-RULE-12_2_b, MISRA2012-RULE-12_3, MISRA2012-RULE-14_3_zc, MISRA2012-RULE-15_1, MISRA2012-RULE-15_2, MISRA2012-RULE-18_1_a, MISRA2012-RULE-1_3_b, MISRA2012-RULE-1_3_d, MISRA2012-RULE-20_9_b, MISRA2012-RULE-21_14, MISRA2012-RULE-21_17_a, MISRA2012-RULE-21_21, MISRA2012-RULE-21_5_b, MISRA2012-RULE-21_6, MISRA2012-RULE-21_7, MISRA2012-RULE-21_8, MISRA2012-RULE-21_8_b, MISRA2012-RULE-21_8_c, MISRA2012-RULE-22_1, MISRA2012-RULE-2_1_a, MISRA2012-RULE-2_1_h, MISRA2012-RULE-2_2_b, MISRA2012-RULE-8_11, MISRA2012-RULE-8_12, MISRA2012-RULE-9_1 |
MISRA C 2023 (MISRA C 2012) | MISRAC2012-DIR_4_1-a, MISRAC2012-DIR_4_1-d, MISRAC2012-DIR_4_1-e, MISRAC2012-DIR_4_1-g, MISRAC2012-DIR_4_11-a, MISRAC2012-DIR_4_13-a, MISRAC2012-DIR_4_14-b, MISRAC2012-DIR_4_14-e, MISRAC2012-DIR_4_14-f, MISRAC2012-DIR_4_14-g, MISRAC2012-DIR_4_14-j, MISRAC2012-DIR_4_14-k, MISRAC2012-DIR_4_14-l, MISRAC2012-DIR_5_1-c, MISRAC2012-RULE_11_2-a, MISRAC2012-RULE_11_8-a, MISRAC2012-RULE_12_2-a, MISRAC2012-RULE_12_2-b, MISRAC2012-RULE_12_3-a, MISRAC2012-RULE_14_3-ac, MISRAC2012-RULE_15_1-a, MISRAC2012-RULE_15_2-a, MISRAC2012-RULE_18_1-a, MISRAC2012-RULE_1_3-b, MISRAC2012-RULE_1_3-d, MISRAC2012-RULE_20_9-b, MISRAC2012-RULE_21_14-a, MISRAC2012-RULE_21_17-a, MISRAC2012-RULE_21_21-a, MISRAC2012-RULE_21_5-b, MISRAC2012-RULE_21_6-a, MISRAC2012-RULE_21_7-a, MISRAC2012-RULE_21_8-a, MISRAC2012-RULE_21_8-b, MISRAC2012-RULE_21_8-c, MISRAC2012-RULE_22_1-a, MISRAC2012-RULE_2_1-a, MISRAC2012-RULE_2_1-h, MISRAC2012-RULE_2_2-b, MISRAC2012-RULE_8_11-a, MISRAC2012-RULE_8_12-a, MISRAC2012-RULE_9_1-a |
MISRA C++ 2008 | MISRA2008-0_1_1_a, MISRA2008-0_1_2_aa, MISRA2008-0_1_3_c, MISRA2008-0_1_4, MISRA2008-0_1_6, MISRA2008-0_3_1_a, MISRA2008-0_3_1_d, MISRA2008-0_3_1_e, MISRA2008-0_3_1_g, MISRA2008-10_2_1, MISRA2008-15_1_3, MISRA2008-15_3_2, MISRA2008-15_5_3_d, MISRA2008-15_5_3_e, MISRA2008-16_0_7_b, MISRA2008-18_0_2, MISRA2008-18_0_3, MISRA2008-18_0_3_b, MISRA2008-18_0_3_d, MISRA2008-18_7_1_b, MISRA2008-3_1_1, MISRA2008-3_1_3, MISRA2008-4_10_1, MISRA2008-5_0_16_a, MISRA2008-5_0_21, MISRA2008-5_18_1, MISRA2008-5_2_12, MISRA2008-5_2_4, MISRA2008-5_8_1, MISRA2008-6_6_2, MISRA2008-7_3_1, MISRA2008-7_5_4 |
MISRA C++ 2023 | MISRACPP2023-0_0_1-a, MISRACPP2023-0_0_2-a, MISRACPP2023-0_1_1-a, MISRACPP2023-0_2_4-a, MISRACPP2023-0_3_2-a, MISRACPP2023-10_2_3-a, MISRACPP2023-11_6_1-a, MISRACPP2023-11_6_2-a, MISRACPP2023-11_6_3-a, MISRACPP2023-12_2_2-b, MISRACPP2023-13_3_4-a, MISRACPP2023-15_1_4-a, MISRACPP2023-15_8_1-a, MISRACPP2023-16_6_1-a, MISRACPP2023-18_1_2-a, MISRACPP2023-18_3_1-a, MISRACPP2023-18_5_2-a, MISRACPP2023-18_5_2-b, MISRACPP2023-18_5_2-c, MISRACPP2023-19_1_3-a, MISRACPP2023-21_10_3-a, MISRACPP2023-21_2_1-a, MISRACPP2023-21_2_3-a, MISRACPP2023-30_0_1-b, MISRACPP2023-4_1_3-a, MISRACPP2023-5_10_1-a, MISRACPP2023-5_13_5-a, MISRACPP2023-6_0_1-b, MISRACPP2023-6_0_2-a, MISRACPP2023-6_0_3-a, MISRACPP2023-6_2_4-a, MISRACPP2023-6_7_2-a, MISRACPP2023-7_0_1-a, MISRACPP2023-7_0_2-a, MISRACPP2023-7_0_3-a, MISRACPP2023-7_11_2-a, MISRACPP2023-8_19_1-a, MISRACPP2023-8_2_2-a, MISRACPP2023-8_2_3-a, MISRACPP2023-8_2_5-a, MISRACPP2023-8_7_1-a, MISRACPP2023-8_7_1-c, MISRACPP2023-8_7_1-e, MISRACPP2023-9_5_1-a, MISRACPP2023-9_6_1-a, MISRACPP2023-9_6_3-a |
オブジェクト指向 | OOP-31, OOP-34 |
最適化 | OPT-05, OPT-22 |
OWASP API Security Top 10 (2019) | OWASP2019-API3-b, OWASP2019-API3-d, OWASP2019-API3-e, OWASP2019-API3-f, OWASP2019-API4-a, OWASP2019-API4-b, OWASP2019-API7-c, OWASP2019-API8-a, OWASP2019-API8-b, OWASP2019-API8-c, OWASP2019-API8-d, OWASP2019-API8-e, OWASP2019-API8-f |
OWASP Top 10 (2017) | OWASP2017-A1-b, OWASP2017-A1-c, OWASP2017-A1-d, OWASP2017-A1-e, OWASP2017-A1-f, OWASP2017-A5-a, OWASP2017-A6-b |
OWASP Top 10 (2021) | OWASP2021-A1-a, OWASP2021-A3-b, OWASP2021-A3-c, OWASP2021-A3-d, OWASP2021-A3-e, OWASP2021-A3-f, OWASP2021-A5-b |
物理ファイル編成 | PFO-01 |
バグの可能性 | PB-41, PB-41_b, PB-58, PB-75, PB-75_b, PB-75_c |
セキュリティ | SECURITY-48, SECURITY-48_b |
SEI CERT C++ | CERT_CPP-CTR53-b, CERT_CPP-CTR54-a, CERT_CPP-DCL53-a, CERT_CPP-ERR50-d, CERT_CPP-ERR50-e, CERT_CPP-ERR50-l, CERT_CPP-ERR50-n, CERT_CPP-ERR56-b, CERT_CPP-ERR57-a, CERT_CPP-ERR62-a, CERT_CPP-EXP53-a, CERT_CPP-EXP57-b, CERT_CPP-FIO51-a, CERT_CPP-OOP54-a, CERT_CPP-STR50-b |
SEI CERT C | CERT_C-ARR30-a, CERT_C-ARR38-a, CERT_C-ARR38-c, CERT_C-ARR38-d, CERT_C-ARR39-a, CERT_C-CON30-a, CERT_C-CON37-a, CERT_C-DCL16-a, CERT_C-DCL22-a, CERT_C-ENV33-a, CERT_C-ERR02-a, CERT_C-ERR04-a, CERT_C-ERR04-b, CERT_C-ERR04-c, CERT_C-ERR05-a, CERT_C-ERR05-b, CERT_C-ERR05-c, CERT_C-ERR07-a, CERT_C-ERR34-a, CERT_C-EXP08-b, CERT_C-EXP20-a, CERT_C-EXP33-a, CERT_C-FIO22-a, CERT_C-FIO32-a, CERT_C-FIO37-a, CERT_C-FIO42-a, CERT_C-FLP32-a, CERT_C-INT04-a, CERT_C-INT13-a, CERT_C-INT16-a, CERT_C-INT34-a, CERT_C-MEM00-e, CERT_C-MEM12-a, CERT_C-MEM31-a, CERT_C-MSC07-a, CERT_C-MSC07-i, CERT_C-MSC12-a, CERT_C-MSC12-i, CERT_C-MSC12-j, CERT_C-MSC19-a, CERT_C-MSC24-a, CERT_C-POS30-a, CERT_C-SIG00-a, CERT_C-SIG01-a, CERT_C-SIG02-a, CERT_C-STR02-a, CERT_C-STR02-b, CERT_C-STR02-c, CERT_C-STR03-a, CERT_C-STR31-a, CERT_C-STR32-a, CERT_C-WIN30-a |
削除されたルール
ルール ID | 説明 |
---|---|
AUTOSAR-A18_0_2-b | AUTOSAR C++ 14 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、MISRA2004-20_10 を代替として使用できます。 |
AUTOSAR-A2_5_1-b | AUTOSAR C++ 14 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、MISRA2004-4_2 を代替として使用できます。 |
AUTOSAR-A9_5_1-b | AUTOSAR C++ 14 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、MISRA2004-18_4 を代替として使用できます。 |
AUTOSAR-M0_3_1-j | AUTOSAR C++ 14 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、BD-PB-CC または BD-PB-NP を代替として使用できます。 |
BD-PB-DEREF | BD-PB-CC を代替として使用できます。 |
BD-PB-INTOVERF | BD-PB-INTDL、BD-PB-INTUB、BD-PB-INTVC または BD-PB-INTWRAP を代替として使用できます。 |
BD-PB-POVR | BD-PB-VOVR を代替として使用できます。 |
CODSTA-63_b | CODSTA-307 および CODSTA-308 を代替として使用できます。 |
CWE-476-b | CWE Top 25 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、BD-PB-CC または BD-PB-NP を代替として使用できます。 |
HICPP-4_1_1-b | High Integrity C++ コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、PB-41_b を代替として使用できます。 |
MISRA2008-0_3_1_f | MISRA C++ 2008 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、BD-PB-CC または BD-PB-NP を代替として使用できます。 |
MISRA2012-DIR-4_1_f | MISRA C 2012 (Legacy) コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、BD-PB-CC または BD-PB-NP を代替として使用できます。 |
MISRAC2012-DIR_4_1-f | MISRA C 2023 (MISRA C 2012) コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、BD-PB-CC または BD-PB-NP を代替として使用できます。 |
MISRACPP2023-7_0_3-b | MISRA C++ 2023 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、MISRA2004-6_2 を代替として使用できます。 |