このリリースには以下の拡張が含まれます。

リリース日: 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.xtricoregcc_4_9
HighTec Clang C/C++ Compiler 8.1 (aarch32/arm)*hightec-clang_8_1-aarch32
IAR Compiler for ARM v. 9.40xiccarm_9_40
IAR Compiler for ARM v. 9.50xiccarm_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 を代替として使用できます。

  • No labels