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

リリース日: 2024 年11 月 21 日


アップグレードに関する注意点

  • DTP または License Server から C/C++test 2024.2 のライセンスを取得するには、DTP または License Server 2024.1 以上が必要です。正常に製品のライセンスを取得するには、C/C++test 2024.2 にアップグレードするに DTP または License Server 2024.1 以上にアップグレードする必要があります。
  • DTP および License Server には HTTPS 経由で接続する必要があります。HTTP はサポートされなくなりました。


静的解析の拡張

  • 新規コード解析ルールが追加され、より広くコンプライアンス規格がカバーされるようになりました。新規ルールの一覧は「新規ルール」を参照してください。
  • 静的解析ルールが更新され、レポートされる違反がより正確になりました。更新されたルールの一覧は「更新されたルール」を参照してください。
  • 静的解析エンジンが拡張され、モダン C/C++ 構文のサポートが改善されました。

単体テストおよびカバレッジの拡張

単体テストおよびカバレッジ エンジンが拡張され、モダン C/C++ 構文のサポートが改善されました。

ファイル内抑制の拡張 

  • CLI および IDE の両方で使用する抑制ファイルの場所を簡単にカスタマイズする機能が追加されました。 
  • 抑制の定義の拡張:
    • ファイル属性にワイルドカードを含むファイル パスを指定できるようになりました。
    • rule-id 属性にルール カテゴリおよび任意で重要度を表す接尾辞を指定できるようになりました。

詳細については、「抑制ファイルでの抑制の定義」を参照してください。

サポート対象コンパイラ

以下のコンパイラがサポートされています。

コンパイラ名コンパイラ識別子
Clang C/C++ Compiler v 17.0 for x86_64
clang_17_0-x86_64
Clang C/C++ Compiler v 17.0 for aarch64/arm64clang_17_0-aarch64
Clang C/C++ Compiler v 18.0 for x86_64clang_18_0-x86_64
Clang C/C++ Compiler v 18.0 for aarch64/arm64
clang_18_0-aarch64
GNU GCC 11.x for PowerPC
gcc_11-powerpc
Green Hills Software Compiler for Tricore v. 2021.1.x
ghstri_2021_1
HighTec Clang C/C++ Compiler 8.1 for aarch32/arm*hightec-clang_8_1-aarch32

* - 実行時解析のサポートが追加されました。

以下のコンパイラのサポート レベルが Extended から Standard に変更されました。

  • IAR Compiler for MSP430 v. 6.1x (icc430_6_1)
  • QNX GCC 5.x (ARM64) (qccarm_5-64)
  • QNX GCC 5.x (qcc_5)
  • Wind River Clang 8.0.x (wrclang_8_0)
  • Wind River Clang 9.0.x for aarch32 (wrclang_9_0-aarch32)
  • Wind River Diab 5.9.x (diab_5_9)

コンパイラ」を参照してください。

テスト コンフィギュレーションの更新

以下のテスト コンフィギュレーションに新規ルールが追加されました。

  • AUTOSAR C++14 Coding Guidelines
  • CWE Top 25 + On the Cusp 2022
  • CWE Top 25 + On the Cusp 2023
  • CWE Top 25 2022
  • CWE Top 25 2023
  • Flow Analysis Aggressive
  • Flow Analysis Fast
  • Flow Analysis Standard
  • Joint Strike Fighter
  • MISRA C 1998
  • MISRA C 2004
  • MISRA C 2023 (MISRA C 2012)
  • MISRA C 2012 Legacy
  • MISRA C++ 2008
  • MISRA C++ 2023
  • OWASP API Security Top 10 2019
  • Recommended Rules
  • SEI CERT C Guidelines
  • SEI CERT C Rules
  • SEI CERT C++ Rules
  • Security Rules

その他のアップデート

サポートの非推奨および廃止

廃止された IDE

次の IDE のサポートは廃止されました。

  • Visual Studio 2015

非推奨予定のコンパイラ

次のコンパイラのサポートは、将来のリリースで非推奨になる予定です。

  • ARM Compiler 6.9
  • Clang C/C++ Compiler v 8.0 (x86_64)
  • Clang C/C++ Compiler v 10.0 (x86_64)
  • Green Hills Software Compiler for ARM v. 2017.5.x
  • Green Hills Software Compiler for ARM64 v. 2017.5.x
  • Green Hills Software Compiler for PPC v. 2017.1.x
  • Hexagon Clang Compiler v. 8.4.x
  • IAR Compiler for ARM v. 8.11.x
  • Microchip MPLAB C32 Compiler for PIC32 v2.0x
  • QNX GCC 5.x
  • QNX GCC 5.x (x86-64)
  • QNX GCC 5.x (ARM)
  • QNX GCC 5.x (ARM64)
  • Renesas RX C/C++ Compiler 2.5x
  • TI ARM C/C++ Compiler v18.1
  • TI ARM C/C++ Compiler GNU GCC 7.x

非推奨のコンパイラ

次のコンパイラのサポートは非推奨であり、将来のリリースで削除される予定です。

  • ARM Compiler 5.0
  • ARM Compiler 5.0 for uVision
  • GNU GCC 6.x
  • GNU GCC 6.x (x86_64)
  • 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

廃止されたコンパイラ

以下のコンパイラはサポートされなくなりました。

  • GNU GCC 5.x
  • GNU GCC 5.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

 解決済みのバグおよび FR

バグ/FR ID

説明

CPP-46243

[static] CERT FIO01-C および FIO21-C のマッピングを改善する必要がある

CPP-47511

[static] MISRA2004-2_4 (AUTOSAR-A2_7_2-a) ルールを分割する (doxygen コメントを除外)

CPP-53074

[static] 大きなワークスペースのスコープ計算を最適化する (C/C++test Pro)

CPP-55517

[compiler] Green Hills compiler 2021.1.5 for TriCore のサポート

CPP-55616

[static] cyclomatic complexity で do-while(0) 文 (マクロで使用されている) をカウントするべきではない

CPP-56180

[static] AUTOSAR-A3_9_1-c ルールのマッピングを削除する

CPP-56567

[static] '#' の後に非 ascii 文字のコメントが続く場合に MISRA2004-19_9 (MISRAC2012-RULE_20_6-a) が違反をレポートしない

CPP-56606

[ide] VS2019 および VS2022 での LinkLibraryDependencies リンカー オプションのサポートを改善する

CPP-56716

[static] MISRACPP2023-28_3_1-a: ラムダ関数の「永続的な副作用」に関する違反の誤検出

CPP-56736

[static] MISRACPP2023-6_4_1 のマッピングを改善し、変数名だけにフォーカスする

CPP-56779

[static] MISRACPP2023-0_2_1-a が Rule 0.2.1 の例外をサポートしていない

CPP-56793

[static] CODSTA-CPP-66 (MISRACPP2023-8_2_2-a) ルールの出力メッセージを改善する

CPP-56807

[engine] "const auto" 付きのモダン C++ 関数宣言で解析が失敗する

CPP-56814

[compiler] HighTec C compiler for ARM 8.1 (実行時解析) のサポート

CPP-56989

[static] CERT_C-DCL37 のサポートを改善する

CPP-57005

[static] MISRACPP2023-0_1_2-a (CODSTA-CPP-58) が未評価のコンテキスト (noexcept, typeid) で違反を誤検出する

CPP-57006

[static] using 宣言によって基底メソッドが導入されている場合に MISRACPP2023-6_4_2-b (OOP-53) が違反を誤検出する (テンプレート)

CPP-57009

[static] AUTOSAR-M3_3_2-a: 明示的なテンプレート特殊化内の static キーワードに対して違反を誤検出する

CPP-57033

[static] 別のファイルで template forward 宣言が使用されている場合、TEMPL-16 が違反を誤検出する

CPP-57057

[engine] 明示的に初期化されていない場合、静的インライン フィールドの解析でエラーが発生する

CPP-57209

[engine] error: no instance of function template "std::construct_at"

CPP-57361

[engine] cpptestcc が on __c11_atomic_is_lock_free で失敗する

CPP-57389

[engine] カバレッジ インストゥルメンテーション エラー: for_each で void および非 void の関数の結果を混合するのはサポートされていない

CPP-57398

[engine] インストゥルメンテーション コンパイル エラー: オーバーロードされた Matrix のあいまいな呼び出し

CPP-57399

[engine] カバレッジ インストゥルメンテーション エラー: TFixedBlockAllocator はテンプレートではない

CPP-57425

[static] volatile オブジェクトの volatile メンバーが使用されている場合に MISRA2004-12_2_f (MISRAC2012-RULE_13_2-f) が違反を誤検出する

CPP-57427

[static] 大きな値を持つ整数定数が使用されている場合に PORT-28 が違反を誤検出する

CPP-57428

[static] 高度にテンプレート化されたコードに対して MISRACPP2023-6_4_1-e (CODSTA-CPP-85) が違反を誤検出する

CPP-57484

[engine] cpptestcc が __c11_atomic_load で失敗する

CPP-57517

[engine] error: declaration is incompatible with "CInfraComArray<CMasterClass ...

CPP-57524

[static] MRM-39 の誤検出

CPP-57525

[static] ポインターが削除の前にキャストされている場合に MRM-19 が違反を誤検出する

CPP-57533

[compiler] powerpc-eabi-gcc 11.2 コンパイラのサポート

CPP-57538

[static] Analysis error due to possible ppro crash if 'CR' 改行が使用されている場合に可能性がある ppro クラッシュで解析エラーが発生する

CPP-57541

[static] typedef 宣言が誤って検出される (AUTOSAR-A7_1_6-a, CODSTA-MCPP-02, GLOBAL-UNIQUETYPEDEF, GLOBAL-UNIQUETYPEDEFC)

CPP-57553

[engine] 可変引数テンプレート スタブが無視される

CPP-57594

[engine] error: expected an expression static constexpr bool isComplex = ((QTypeInfo<Ts>::isComplex) || ...);

CPP-57609

[engine] OpenMP コードがある関数に対する C/C++test のインストゥルメンテーションを無効化するオプションの追加

CPP-57628

[engine] afxpanecontainer.h line 35: error: expected a ")"

CPP-57659

[static] ブロックの閉じ括弧が最後のステートメントと同じ行にある場合に FORMAT-43 が違反を誤検出する

CPP-57673

[静的] AUTOSAR A7-1-2 のマッピングを改善する

CPP-57678

[engine] SCA を実行したときに静的アサーションが失敗する。元のコードは問題なくコンパイル可能

CPP-57679

[engine] vxtc_6_3 のコンパイラ構成を改善する (--fp-model=1)

CPP-57683

[ide] VS 2022 の最新アップデート (17.10.3) で単体テストのデバッグが動作しない

CPP-57734

[engine] 静的解析での tic2000_18_1 コンパイラの CLA モードのサポートを改善する

CPP-57736

[static] lib/libppro.so で yylex() からの PPRO クラッシュ

CPP-57738

[ide] Rulewizard ネイティブ ライブラリの無効な libstdc++ 依存関係

CPP-57739

[static] 初期化子でテンプレート変数が使用されている場合に INIT-12 (CERT_CPP-DCL56-a) が違反を誤検出する

CPP-57744

[engine] 再構築時にスタック オーバーフローによって xharness がクラッシュする

CPP-57748

[static] 非常に長い文字列をチェックしたとき MISRA-005 が終了コード 1 をレポートする

CPP-57749

[static] cwc exit code 3 - Narrowing in list initialization ignored in non-evaluated context

CPP-57770

[engine] error: incomplete type "A<void>" is not allowed

CPP-57778

[engine] Errors with QT brace-initialization

CPP-57785

[static] プロパティ 'CapturedVariables' がキャプチャされていないローカル変数を検出する

CPP-57796

[engine] error: expression must have a constant value

CPP-57802

[static] 解析がコード 33 で終了する - signal 11 in libppro.so

CPP-57834

[static] CERT_C-PRE02 のサポートを改善する

CPP-57835

[bazel] シンボルリンクの展開を無効にするオプションを追加する (CPPTEST_COVERAGE_SRC_ROOT_RESOLVE_SYMLINKS)

CPP-57885

[static] CODSTA-CPP-206 (MISRACPP2023-6_8_4) は CV 修飾が異なる変換演算子を関数オーバーロードとして扱うべきである

CPP-57886

[static] CODSTA-CPP-206 (MISRACPP2023-6_8_4-a) が定数 LVALUE 参照修飾されたテンプレート関数に対して違反を誤検出する

CPP-57892

[static] MISRACPP2023-0_2_3-a が違反を誤検出する。decltype/template 引数を使用として考慮していない

CPP-57893

[static] MISRACPP2023 Rule 15.1.3 のマッピングの改善

CPP-57894

[static] OPT-02 (MISRACPP2023-0_2_1-a) が 'static_if' 内で使用されている変数に対して違反を誤検出する

CPP-57899

[engine] インストゥルメンテーション解析エラー: more than one operator "=" matches these operands

CPP-57906

[static] 'auto' 型のパラメーターが使用されている場合に CODSTA-CPP-212 (MISRACPP2023-7_0_2-a) が違反を誤検出する

CPP-57918

[static] コメント内の行が '#' で始まる場合に MISRA2004-19_16 (MISRAC2012-RULE_20_13-a) が違反を誤検出する

CPP-57919

[compiler] TI コンパイラの -c99 オプションのサポートを改善する

CPP-57990

[compiler] GNU GCC でプロファイリング フラグの処理が一貫していない

CPP-57993

[ide] テスト ケース追加/削除後に中国語のコメントが文字化けしている

CPP-58001

[engine] C++23 の浮動小数点型リテラル接尾辞で解析エラーが発生する

CPP-58011

[static] CERT_C-ERR32 のマッピングの改善 (BD-PB-ERRNO から BD-PB-SIGHAN に)

CPP-58012

[static] ファイルを解析できない (cwc exit code: 4)

CPP-58013

[static] CODSTA-CPP-43 (AUTOSAR-A8_4_9-a) が配列型への参照に対して違反を誤検出する

CPP-58016

[static] インターフェイス クラスに削除された関数が含まれている場合、OOP-07 (AUTOSAR-A10_1_1-a) が違反を誤検出する

CPP-58017

[static] CODSTA-29 (CERT_C-DCL06-a) が関数内の列挙型に対して違反を誤検出する

CPP-58053

[engine] 'static constexpr' 配列初期化エラー

CPP-58058

[engine] 関数テンプレート "printValue" のインスタンスが引数リストに一致しない

CPP-58060

[ide] /std:c17 および /std:c++17 オプションの両方を指定した VS プロジェクトで解析またはテストを実行できない

CPP-58070

[engine] -ignore-const-decisions が有効化されている場合のインストゥルメンテーションの問題

CPP-58072

[engine] インストゥルメンテーション時にクラスが適切に初期化しない

CPP-58077

[engine] 余分な括弧によるインストゥルメンテーションの問題

CPP-58091

[static] CODSTA-CPP-206 (MISRACPP2023-6_8_4-a) がサブオブジェクトではないメンバーの参照からポインターおよびポインターから参照への変換に対して違反を誤検出する

CPP-58096

[static] 整数定数と浮動小数点定数で CODSTA-38 の動作に一貫性がない

CPP-58251

[engine] I\O 例外がキャッチされた - XML ファイルを読み取りできない

CPP-58585

[engine] インストゥルメンテーション エラー: cannot deduce "auto" type

CPP-57674

[engine] (clang) プラグマ ループ ディレクティブがある関数に対する C/C++test のインストゥルメンテーションを無効化するオプションの追加

CPP-57832

[engine] #pragma GCC ivdep がある関数に対する C/C++test のインストゥルメンテーションを無効化するオプションの追加

CPP-58600

[engine] STATUS_ACCESS_VIOLATION:スレッドが、アクセスできない仮想アドレスから読み取り/書き込みを試みる

CPP-58629

[engine] リスト初期化された自動型推論複合型引数の型推論が誤っている

CPP-58654

[stubs] パラメーターに vector 型を持つスタブのサポートを追加する

CPP-58658

[engine] error: nontype "Fei::Imaging::Spectrum::const_spectrum_data_ref<T>::iterator [with T=T]" is not a type name

CPP-58659

[engine] error: default constexpr comparison function calls non-constexpr function function 

CPP-58723

[engine]  VS 2022 でアトミック使用時にパース エラーが発生する

CPP-58754

[engine] error: type name is not allowed

CPP-58776

[engine] GCC 配列初期化子のサポート

CPP-58781

[engine] error: more than one operator "<" matches these operands

CPP-58787

[engine] GCC C++20 混合初期化子のサポート

CPP-58806

[static] CODSTA-CPP-206 が StaticRulesBuiltin::CODSTA_CPP_206::run でクラッシュする

CPP-58822

[ide] C/C++test 生成ファイル (テスト、スタブ) のファイル エンコーディングの一貫性を改善する

CPP-58865

[engine] 基底クラス メンバーの推論でパース エラーが発生する

FA-4156

printf 系の関数への "%s" 指定子に相当する引数として null が渡された場合、BD-PB-NP は違反をレポートするべき

FA-9845

MISRACPP2023-11_6_2-a (BD-PB-NOTINIT) の誤検出 - "*this" の初期化の前の使用を避ける?

FA-9901

MISRACPP2023-28_6_3-a がフォワード参照および lvalue に対して違反を誤検出する

FA-9907

BD-PB-VARARGS が MSVC で違反を誤検出する

FA-9912

MISRAC2012-RULE_14_3-ac (BD-PB-CC) の誤検出

FA-9937

BD-PB-NOTINIT の誤検出

FA-9951

BD-PB-OVERFWR が renesas コンパイラで違反を誤検出する

FA-9953

ルールのドキュメントに記載されているデフォルト値が正しくない

FA-9961

BD-PB-ARRAY の誤検出

FA-9988

BD-CO-STRMOD の誤検出

FA-9990

MISRACPP2023-0_2_4-a - 違反の誤検出、private 仮想関数

FA-9991

BD-PB-NOTINIT の誤検出

FA-9996

BD-PB-NOTINIT が初期化するべきフィールド数を誤って想定しているために違反を誤検出する

FA-10003

BD-PB-OVERFNZT が文字列リテラルを使用して初期化される二次元 char 配列で違反を誤検出する

FA-10007

BD-PB-NOTINIT の誤検出

FA-10013

配列が先頭要素以外から初期化されている場合に BD-PB-NOTINIT が違反を誤検出する

FA-10028

BD-PB-NOTINIT が N 番目のループ反復で違反を誤検出する

FA-10046

フロー解析がソース ファイルを解析できない

PT-2795

DTP でカバレッジ レポートが拒否される (日本語のみ)

ルールの更新

新規ルール

ルール ID

ヘッダー

AUTOSAR-A5_2_5-e

コレクションの境界外にアクセスしてはならない

AUTOSAR-M0_1_3-f

プロジェクトに未初期化ローカル変数が含まれていてはならない

AUTOSAR-M0_1_3-g

プロジェクトに内部リンケージを持つ未初期化変数が含まれるべきではない

BD-PB-COOB

コレクションの境界外にアクセスしてはならない

CERT_C-DCL37-b

アンダースコアおよび大文字またはもう 1 つのアンダースコアで始まる識別子を定義するべきではない

CERT_C-DCL37-c

名前がアンダースコアで始まるファイルスコープのオブジェクトを宣言しない

CERT_C-DCL37-d

標準ライブラリのマクロの名前を再利用するべきではない (C11 コード)

CERT_C-DCL37-e

ファイル スコープを持つ標準ライブラリの名前を再利用するべきではない (C11 コード)

CERT_C-DCL37-f

外部リンケージを持つ標準ライブラリの識別子名を再利用するべきではない (C11 コード)

CERT_C-DCL37-g

アンダースコアおよび大文字またはもう 1 つのアンダースコアで始まるマクロを定義するべきではない

CERT_C-ERR32-b

シグナル ハンドラーを適切に定義する

CERT_C-ERR33-e

fopen の呼び出しの直後にファイル オープン エラーの処理を置く

CERT_C-FIO01-c

識別にファイル名を使用する関数は注意して使用する

CERT_C-FIO21-b

安全な一時ファイル名関数を使用する

CODSTA-303

内側のスコープで宣言された変数が外側のスコープで宣言された変数を隠蔽してはならない

CODSTA-92_c

標準ライブラリのマクロの名前を再利用するべきではない (C11 コード)

CODSTA-92_d

ファイル スコープを持つ標準ライブラリの名前を再利用するべきではない (C11 コード)

CODSTA-92_e

外部リンケージを持つ標準ライブラリの識別子名を再利用するべきではない (C11 コード)

CWE-119-l

コレクションの境界外にアクセスしてはならない

CWE-125-f

コレクションの境界外にアクセスしてはならない

CWE-787-i

コレクションの境界外にアクセスしてはならない

JSF-127_b

Doxygen コメントを使用してコード セクションを「コメント アウト」してはならない

MISRA2004-2_4_b

Doxygen コメントを使用してコード セクションを「コメント アウト」してはならない

MISRA2008-0_1_3_f

プロジェクトに未初期化ローカル変数が含まれていてはならない

MISRA2008-0_1_3_g

プロジェクトに内部リンケージを持つ未初期化変数が含まれるべきではない

MISRA2008-2_7_2_b

C スタイルのコメントを使ってコード セクションを ’コメント アウト’ してはならない

MISRA2008-2_7_3_b

C++ スタイルのコメントを使ってコード セクションを 'コメント アウト' してはならない

MISRA2012-DIR-4_4_b

Doxygen コメントを使用してコード セクションを「コメント アウト」してはならない

MISRAC2012-DIR_4_4-b

Doxygen コメントを使用してコード セクションを「コメント アウト」してはならない

MISRACPP2023-19_2_1-b

ユニークな多重インクルード ガードを使用する

MISRACPP2023-6_4_1-g

内側のスコープで宣言された変数が外側のスコープで宣言された変数を隠蔽してはならない

NAMING-33_c

アンダースコアおよび大文字またはもう 1 つのアンダースコアで始まるマクロを定義するべきではない

NAMING-33_d

アンダースコアおよび大文字またはもう 1 つのアンダースコアで始まる識別子を定義するべきではない

NAMING-33_e

名前がアンダースコアで始まるファイルスコープのオブジェクトを宣言しない

OPT-02_b

プロジェクトに未初期化ローカル変数が含まれていてはならない

OPT-43_b

プロジェクトに内部リンケージを持つ未初期化変数が含まれるべきではない

OWASP2019-API3-r

コレクションの境界外にアクセスしてはならない

PFO-02_b

ユニークな多重インクルード ガードを使用する

PREPROC-29

標準ライブラリのヘッダーをインクルードする場合、山括弧 <> を使用する

SECURITY-55

識別にファイル名を使用する関数は注意して使用する

更新されたルール

カテゴリ ID

ルール ID

AUTOSAR C++14 Coding Guidelines

AUTOSAR-A0_1_2-a, AUTOSAR-A0_4_4-a, AUTOSAR-A10_1_1-a, AUTOSAR-A10_2_1-a, AUTOSAR-A10_2_1-b, AUTOSAR-A12_0_1-a, AUTOSAR-A13_5_2-a, AUTOSAR-A14_7_2-a, AUTOSAR-A18_9_4-a, AUTOSAR-A23_0_2-b, AUTOSAR-A27_0_2-a, AUTOSAR-A27_0_2-b, AUTOSAR-A2_10_1-e, AUTOSAR-A2_3_1-a, AUTOSAR-A2_7_2-a, AUTOSAR-A4_7_1-c, AUTOSAR-A5_0_1-b, AUTOSAR-A5_2_5-a, AUTOSAR-A5_3_2-a, AUTOSAR-A7_1_7-c, AUTOSAR-A7_2_3-a, AUTOSAR-A7_3_1-a, AUTOSAR-A8_4_2-a, AUTOSAR-A8_4_3-b, AUTOSAR-A8_4_9-a, AUTOSAR-A8_5_0-a, AUTOSAR-M0_1_2-ac, AUTOSAR-M0_1_3-a, AUTOSAR-M0_1_3-e, AUTOSAR-M0_3_1-b, AUTOSAR-M0_3_1-d, AUTOSAR-M0_3_1-f, AUTOSAR-M0_3_1-g, AUTOSAR-M0_3_1-i, AUTOSAR-M0_3_2-a, AUTOSAR-M16_0_5-a, AUTOSAR-M16_0_8-a, AUTOSAR-M16_1_1-a, AUTOSAR-M5_0_16-a, AUTOSAR-M5_14_1-a, AUTOSAR-M7_1_2-c, AUTOSAR-M8_0_1-a

C++ コーディング規約

CODSTA-CPP-04, CODSTA-CPP-206, CODSTA-CPP-211, CODSTA-CPP-212, CODSTA-CPP-43, CODSTA-CPP-58, CODSTA-CPP-85

Coding Conventions for Modern C++

CODSTA-MCPP-01, CODSTA-MCPP-03, CODSTA-MCPP-47_b, CODSTA-MCPP-56

コーディング規約

CODSTA-122_a, CODSTA-122_b, CODSTA-138, CODSTA-144, CODSTA-226_a, CODSTA-227, CODSTA-29, CODSTA-311, CODSTA-38

Common Weakness Enumeration

CWE-119-a, CWE-119-d, CWE-119-e, CWE-125-a, CWE-125-c, CWE-20-f, CWE-362-d, CWE-476-a, CWE-787-a, CWE-787-d

DISA ASD STIG

APSC_DV-000060-a, APSC_DV-001995-a, APSC_DV-002520-a, APSC_DV-002530-a, APSC_DV-002550-a, APSC_DV-002560-a, APSC_DV-002590-b, APSC_DV-002590-c, APSC_DV-002590-d, APSC_DV-003235-a, APSC_DV-003235-c

フロー解析

BD-API-BADPARAM, BD-API-STRSIZE, BD-API-VALPARAM, BD-CO-ITINVCOMP, BD-CO-STRMOD, BD-PB-ARRAY, BD-PB-CC, BD-PB-NOTINIT, BD-PB-NP, BD-PB-OVERFNZT, BD-PB-OVERFRD, BD-PB-OVERFWR, BD-PB-SUBSEQFRWD, BD-PB-UCMETH, BD-PB-VARARGS, BD-RES-INVFREE, BD-SECURITY-TDENV, BD-TRS-FORKFILE

書式

FORMAT-33, FORMAT-43

グローバル静的解析

GLOBAL-PREDICATENOSE

High Integrity C++

HICPP-10_3_1-a, HICPP-12_1_1-a, HICPP-12_1_1-b, HICPP-13_1_1-a, HICPP-16_1_4-a, HICPP-17_3_3-a, HICPP-1_2_1-h, HICPP-1_2_1-i, HICPP-3_1_1-e, HICPP-5_1_2-f, HICPP-5_1_2-j, HICPP-5_1_6-d, HICPP-5_2_1-a, HICPP-5_2_1-c, HICPP-6_3_2-a, HICPP-7_1_1-b, HICPP-8_3_1-a, HICPP-8_4_1-a

初期化

INIT-12

Joint Strike Fighter

JSF-003, JSF-003_b, JSF-009, JSF-060_b, JSF-088, JSF-088_b, JSF-094, JSF-094_b, JSF-114, JSF-115, JSF-115_a, JSF-117.1, JSF-127, JSF-135_e, JSF-143_a, JSF-157, JSF-177_b, JSF-180_d, JSF-204.1_f, JSF-214

メモリおよびリソース管理

MRM-19, MRM-39, MRM-40

メトリクス

METRIC.CC, METRIC.ECC, METRICS-18, METRICS-28, METRICS-29, METRICS-33, METRICS-34, METRICS-35, METRICS-42

MISRA C 1998

MISRA-005, MISRA-096

MISRA C 2004

MISRA2004-12_2_f, MISRA2004-12_4_a, MISRA2004-16_10, MISRA2004-16_8, MISRA2004-16_8_b, MISRA2004-19_14, MISRA2004-19_16, MISRA2004-19_9, MISRA2004-2_4

MISRA C 2012 (Legacy)

MISRA2012-DIR-4_11, MISRA2012-DIR-4_13_c, MISRA2012-DIR-4_14_j, 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_4, MISRA2012-RULE-13_2_f, MISRA2012-RULE-13_4, MISRA2012-RULE-13_5, MISRA2012-RULE-14_3_zc, MISRA2012-RULE-17_4, MISRA2012-RULE-17_4_b, MISRA2012-RULE-17_7_a, MISRA2012-RULE-17_7_b, MISRA2012-RULE-18_1_a, MISRA2012-RULE-1_3_b, MISRA2012-RULE-1_3_d, MISRA2012-RULE-1_3_e, MISRA2012-RULE-1_3_k, MISRA2012-RULE-20_13, MISRA2012-RULE-20_6, MISRA2012-RULE-21_17_a, MISRA2012-RULE-21_17_b, MISRA2012-RULE-21_18, MISRA2012-RULE-22_2_b, MISRA2012-RULE-2_1_h, MISRA2012-RULE-2_8_b, MISRA2012-RULE-2_8_c, MISRA2012-RULE-9_1

MISRA C 2023 (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_11-a, MISRAC2012-DIR_4_13-c, MISRAC2012-DIR_4_14-j, MISRAC2012-DIR_4_4-a, MISRAC2012-RULE_13_2-f, MISRAC2012-RULE_13_4-a, MISRAC2012-RULE_13_5-a, MISRAC2012-RULE_14_3-ac, MISRAC2012-RULE_17_4-a, MISRAC2012-RULE_17_4-b, MISRAC2012-RULE_17_7-a, MISRAC2012-RULE_17_7-b, MISRAC2012-RULE_18_1-a, MISRAC2012-RULE_1_3-b, MISRAC2012-RULE_1_3-d, MISRAC2012-RULE_1_3-e, MISRAC2012-RULE_1_3-k, MISRAC2012-RULE_20_13-a, MISRAC2012-RULE_20_6-a, MISRAC2012-RULE_21_17-a, MISRAC2012-RULE_21_17-b, MISRAC2012-RULE_21_18-a, MISRAC2012-RULE_22_2-b, MISRAC2012-RULE_2_1-h, MISRAC2012-RULE_2_8-b, MISRAC2012-RULE_2_8-c, MISRAC2012-RULE_9_1-a

MISRA C++ 2008

MISRA2008-0_1_2_aa, MISRA2008-0_1_3_a, MISRA2008-0_1_3_e, MISRA2008-0_1_7, 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_2, MISRA2008-16_0_5, MISRA2008-16_0_8, MISRA2008-16_1_1, MISRA2008-2_7_2, MISRA2008-2_7_3, MISRA2008-5_0_16_a, MISRA2008-5_0_1_f, MISRA2008-5_14_1, MISRA2008-7_1_2_b, MISRA2008-8_0_1, MISRA2008-8_4_3

MISRA C++ 2023

MISRACPP2023-0_0_2-a, MISRACPP2023-0_1_2-a, MISRACPP2023-0_2_1-a, MISRACPP2023-0_2_1-b, MISRACPP2023-0_2_3-a, MISRACPP2023-0_2_4-a, MISRACPP2023-0_3_2-a, MISRACPP2023-10_0_1-a, MISRACPP2023-10_1_1-c, MISRACPP2023-10_2_2-a, MISRACPP2023-11_6_2-a, MISRACPP2023-15_1_3-a, MISRACPP2023-15_1_3-b, MISRACPP2023-15_1_5-a, MISRACPP2023-19_0_1-a, MISRACPP2023-19_1_1-a, MISRACPP2023-19_3_5-a, MISRACPP2023-28_3_1-a, MISRACPP2023-28_6_3-a, MISRACPP2023-4_1_3-c, MISRACPP2023-4_6_1-f, MISRACPP2023-5_7_2-a, MISRACPP2023-6_2_3-d, MISRACPP2023-6_4_1-e, MISRACPP2023-6_4_2-a, MISRACPP2023-6_4_2-b, MISRACPP2023-6_8_3-a, MISRACPP2023-6_8_4-a, MISRACPP2023-7_0_1-a, MISRACPP2023-7_0_2-a, MISRACPP2023-8_14_1-a, MISRACPP2023-8_18_2-a, MISRACPP2023-8_7_1-a, MISRACPP2023-8_7_1-c, MISRACPP2023-8_7_1-d, MISRACPP2023-8_7_1-e, MISRACPP2023-9_6_5-a

オブジェクト指向

OOP-07, OOP-07_a, OOP-07_b, OOP-07_c, OOP-32, OOP-53

最適化

OPT-02, OPT-43, OPT-46

OWASP API Security Top 10 (2019)

OWASP2019-API3-b, OWASP2019-API3-e, OWASP2019-API3-f, OWASP2019-API3-g, OWASP2019-API8-c

OWASP API Security Top 10 (2023)

OWASP2023-API10-f

OWASP Top 10 (2017)

OWASP2017-A1-d

OWASP Top 10 (2021)

OWASP2021-A3-d

移植性

PORT-28

セキュリティ

SECURITY-39

SEI CERT C++

CERT_CPP-CTR53-b, CERT_CPP-CTR54-a, CERT_CPP-DCL56-a, CERT_CPP-EXP53-a, CERT_CPP-EXP58-a, CERT_CPP-MSC52-a, CERT_CPP-STR50-b, CERT_CPP-STR50-c, CERT_CPP-STR51-a, CERT_CPP-STR52-a

SEI CERT C

CERT_C-API01-a, CERT_C-ARR30-a, CERT_C-ARR38-a, CERT_C-ARR38-b, CERT_C-ARR38-d, CERT_C-ARR39-a, CERT_C-CON31-c, CERT_C-DCL04-a, CERT_C-DCL06-a, CERT_C-ENV01-c, CERT_C-ERR30-b, CERT_C-ERR33-a, CERT_C-EXP02-a, CERT_C-EXP08-b, CERT_C-EXP12-a, CERT_C-EXP12-b, CERT_C-EXP33-a, CERT_C-EXP34-a, CERT_C-FIO37-a, CERT_C-FLP32-a, CERT_C-MEM00-b, CERT_C-MEM34-a, CERT_C-MSC07-i, CERT_C-MSC09-a, CERT_C-MSC12-i, CERT_C-MSC12-j, CERT_C-MSC19-a, CERT_C-MSC19-b, CERT_C-MSC37-a, CERT_C-MSC39-a, CERT_C-POS30-a, CERT_C-POS30-b, CERT_C-POS38-a, CERT_C-POS54-a, CERT_C-PRE02-a, CERT_C-PRE32-a, CERT_C-STR03-a, CERT_C-STR31-a, CERT_C-STR31-b, CERT_C-STR32-a

テンプレート

TEMPL-16

削除されたルール

ルール ID

注意

AUTOSAR-A3_9_1-c

AUTOSAR C++ 14 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-223_b を代替として使用できます。

AUTOSAR-A7_1_2-b

AUTOSAR C++ 14 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-MCPP-11_b_cpp11 を代替として使用できます。

AUTOSAR-M0_1_3-a

AUTOSAR C++ 14 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、OPT-02 を代替として使用できます。

AUTOSAR-M0_1_3-e

AUTOSAR C++ 14 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、OPT-43 を代替として使用できます。

CERT_C-DCL37-a

SEI CERT C コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、MISRA2004-20_1_a を代替として使用できます。

CERT_C-ERR30-b

SEI CERT C コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、MRM-39 を代替として使用できます。

CERT_C-ERR32-a

SEI CERT C コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、BD-PB-ERRNO を代替として使用できます。

CERT_C-FIO01-b

SEI CERT C コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、SECURITY-19 を代替として使用できます。

CERT_C-FIO21-a

SEI CERT C コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、SECURITY-19 を代替として使用できます。

MISRA2008-0_1_3_a

MISRA C++ 2008 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、OPT-02 を代替として使用できます。

MISRA2008-0_1_3_e

MISRA C++ 2008 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、OPT-43 を代替として使用できます。

MISRACPP2023-19_2_1-a

MISRA C++ 2023 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、PFO-02 を代替として使用できます。

MISRACPP2023-6_4_1-a

MISRA C++ 2023 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、MISRA2004-5_2_a を代替として使用できます。

MISRACPP2023-6_4_1-b

MISRA C++ 2023 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、MISRA2004-5_2_b を代替として使用できます。

MISRACPP2023-6_4_1-c

MISRA C++ 2023 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-CPP-83 を代替として使用できます。

MISRACPP2023-6_4_1-d

MISRA C++ 2023 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-CPP-84 を代替として使用できます。

MISRACPP2023-6_4_1-e

MISRA C++ 2023 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-CPP-85 を代替として使用できます。


  • No labels