このリリースには、以下の拡張が含まれます。
リリース日: 2023年5月31日
Automotive Compliance Pack の拡張
- MISRA C:2012 ルール セットが拡張され、MISRA C:2012 Amendment 4 に関する新規ルールの追加およびルールの更新が行われました。
さらに、MISRA C:2012 に Amendment 4 を含むすべての Amendment を統合した MISRA C:2023 が導入されたことに従って、"MISRA C 2012" ビルトイン テスト コンフィギュレーションが "MISRA C 2023 (MISRA C 2012)" に変更されました。このコンフィギュレーションには、Parasoft C/C++test が提供するすべての MISRA C:2023 / MISRA C:2012 および Amendment 4 ルールが含まれます。
注意: 互換性とコンプライアンス プロセスの一貫性を維持するため、ルールの識別子は変更されておらず、すべての MISRA C:2023 / MISRA C:2012 および Amendment 4 ルールには、継続して "MISRAC2012" という接頭辞が使用されます (例: "MISRAC2012-RULE_11_10-a")。
- HIS Source Code Metrics コンフィギュレーションが拡張され、Number of paths (PATH) / METRICS-44 が追加されました。
静的解析の拡張
- フロー解析エンジンのパフォーマンスが改善されました。
- 静的解析ルールの精度に関して全般的な改善が行われました。
- 新規コード解析ルールが追加され、より広くコンプライアンス規格がカバーされるようになりました。追加および更新されたルールの一覧は「新規ルール」、「更新されたルール」を参照してください。
プラットフォームのサポート
C/C++test は Windows Server 2022 をサポートするようになりました。
サポート対象コンパイラ
以下のコンパイラがサポートされています。
コンパイラ名 | コンパイラ識別子 |
---|---|
GNU GCC 12 for x86-64 | gcc_12-64 |
GNU GCC 12 for aarch64/arm64 | gcc_12-aarch64 |
GNU GCC 11 for aarch32/arm | gcc_11-aarch32 |
GNU GCC 10 for aarch32/arm | gcc_10-aarch32 |
GNU GCC 9 for aarch64/arm64 | gcc_9-aarch64 |
GNU GCC 9 for aarch32/arm | gcc_9-aarch32 |
GNU GCC 8 for aarch32/arm | gcc_8-aarch32 |
Hexagon 8.6 | hexagon-clang_8_6 |
WindRiver Clang/ARM 9.0 | wrclang_9_0-x86_64、wrclang_9_0-aarch32 |
さらに、Microsoft Visual C++ Compiler 17.4 のサポートが拡張されました。
「コンパイラ」を参照してください。
テスト コンフィギュレーションの更新
MISRA C 2012 コンフィギュレーションが更新され、MISRA C 2023 (MISRA C 2012) に名前が変更されました。
以下のテスト コンフィギュレーションに新規ルールが追加されました。
- AUTOSAR C++14 Coding Guidelines
- Flow Analysis Aggressive
- Flow Analysis Fast
- Flow Analysis Standard
- Global Analysis
- High Integrity C++
- HIS Source Code Metrics
- Joint Strike Fighter
- MISRA C 1998
- MISRA C 2004
- MISRA C 2012 > MISRA C 2023 (MISRA C 2012)
- MISRA C++ 2008
- Recommended Rules for FDA (C)
- Recommended Rules for FDA (C++)
- Recommended Rules
- SEI CERT C Guidelines
- SEI CERT C Rules
- SEI CERT C++ Rules
- Sutter-Alexandrescu
その他のアップデート
- Bazel builds for Linux との統合がサポートされました。「Bazel との統合」を参照してください。
Eclipse IDE のダーク テーマで実行したときのルック & フィールが改善されました。
サポートの非推奨および廃止
Team Server サポートの廃止
DTP 2022.1 で非推奨になった Team Server が廃止されました。チーム コンフィギュレーション、ルール、ルール マッピングがまだ DTP の Team Server に保存されている場合、共有の場所に移行してください。「Team Server から共有の場所へのテスト コンフィギュレーション、ルール、ルール マッピングの移行」を参照してください。
廃止されたプラットフォーム
次のプラットフォームのサポートは廃止されました。
- Windows Server 2016
非推奨予定のコンパイラ
次のコンパイラのサポートは、将来のリリースで非推奨になる予定です。
- Altium TASKING Vx-toolset for TriCore C/C++ Compiler 6.2
- Clang 6.0
- FR Family SOFTUNE C/C++ Compiler V6
- Green Hills Software Compiler Native v. 5.0
- Green Hills Software Compiler for ARM64 v. 2014_1.x
- Green Hills Software Compiler for PPC v. 4.2
- Green Hills Software Compiler for V850 v. 2014.1.x
- Microsoft Visual C++ 14.0
- Microsoft Visual C++ 14.0 (x64)
- Renesas SH SERIES C/C++ Compiler V.9.04.xx
- TI MSP430 C/C++ Compiler GNU GCC 6.x
- TI TMS320C2000 C/C++ Compiler v16.9
- Wind River GCC 4.8.x
非推奨のコンパイラ
次のコンパイラのサポートは非推奨であり、将来のリリースで削除される予定です。
- Altium TASKING C compiler for 80C196 v. 6.0 r1
- Clang 5.0
- Freescale C/C++ Compiler v. 5.1 for Embedded ARM
- Freescale CodeWarrior ANSI-C/cC++ Compiler 5.0.x for HC12
- Freescale CodeWarrior C/C++ Compiler v. 6.0 for ColdFire
- Green Hills Software Compiler for ARM v. 2014_1.x
- Green Hills Software Compiler for PPC v. 4.0.x
- Green Hills Software Compiler for V850 v. 2013.5.x
- IAR Compiler for STM8 v. 1.4x
廃止されたコンパイラ
以下のコンパイラはサポートされなくなりました。
- ARM Clang 6.6
- ARM GCC 4.5
- ARM RealView 4.1
- ARM RealView 4.1 for uVision
- Altium TASKING Vx-toolset for TriCore C/C++ Compiler 4.0
- Altium TASKING Vx-toolset for TriCore C/C++ Compiler 6.0
- Altium TASKING classic compiler for C166/ST10 v. 6.0
- COSMIC Software 68HC08 C Cross Compiler V4.6.x
- Clang 3.9
- Clang 4.0
- CodeSourcery Sourcery G++ Lite 2009q1-203
- Embarcadero C++ Compiler 6.2
- Embarcadero C++ Compiler 6.9
- GNU GCC 4.0.x (x86)
- GNU GCC 4.0.x (x86_64)
- GNU GCC 4.1.x (x86)
- GNU GCC 4.1.x (x86_64)
- GNU GCC 4.2.x (x86)
- GNU GCC 4.2.x (x86_64)
- GNU GCC 4.3.x (x86)
- GNU GCC 4.3.x (x86_64)
- GNU GCC 4.4.x (x86)
- GNU GCC 4.4.x (x86_64)
- GNU GCC 4.5.x (x86)
- GNU GCC 4.5.x (x86_64)
- GNU GCC 4.6.x (x86)
- GNU GCC 4.6.x (x86_64)
- GNU GCC 4.7.x (x86)
- GNU GCC 4.7.x (x86_64)
- GNU GCC 4.8.x (x86)
- GNU GCC 4.8.x (x86_64)
- GNU GCC 4.9.x (x86)
- GNU GCC 4.9.x (x86_64)
- Green Hills Software Compiler Native v. 4.2
- Green Hills Software Compiler for V850 v. 5.1.x
- Green Hills Software Compiler for PPC v. 3.5
- IAR Compiler for ARM v. 6.1x
- IAR Compiler for ARM v. 6.3x
- IAR Compiler for ARM v. 6.6x
- IAR Compiler for ARM v. 6.7x
- IAR Compiler for MSP430 v. 5.4x
- Intel(R) C++ Compiler v 18.0
- Keil C166 7.0
- Keil C51 8.x
- Microsoft Visual C++ 11.0
- Microsoft Visual C++ 11.0 (x64)
- Microsoft Visual C++ 12.0
- Microsoft Visual C++ 12.0 (x64)
- National Instruments LabWindows/CVI 2013 Clang C/C++ Compiler v2.9
- National Instruments LabWindows/CVI 9.0
- QNX GCC 4.2.x
- QNX GCC 4.4.x
- Renesas M16C/R8C C Compiler 5.4x
- Renesas RX C/C++ Compiler 2.2x
- Renesas SH SERIES C/C++ Compiler V.5.1x.x
- Renesas SH SERIES C/C++ Compiler V.9.03.xx
- TI ARM C/C++ Compiler v5.1.x
- TI TMS320C2000 C/C++ Compiler v6.2
- TI TMS320C6x C/C++ Compiler v7.3
削除されたテスト コンフィギュレーション
以下のテスト コンフィギュレーションは削除されました。
- Run Altium TASKING CTC Application with Mem Monitoring - CrossView
- Run Altium TASKING CTC Tests - CrossView
解決済みのバグおよび FR
バグ/FR ID | 説明 |
---|---|
CPP-39580 | [static] MISRA2012-RULE-5_6 および MISRA2012-RULE-5_7 ルールはグローバル ルールであるべき |
CPP-40072 | [rulewizard] constexpr if のサポートを追加 |
CPP-42545 | [static] CERT-C-FIO41: 既存のマッピングが一般的すぎる |
CPP-42649 | [static] AUTOSAR A2-10-5、MISRA2008 2-10-5、MISRA C 2012 Rule 5.8 および 5.9 のマッピングを改善する |
CPP-43932 | [static] HIS metric - number of paths (PATH) |
CPP-44741 | [engine] Constexpr c-tor は非定数式のコンテキストでのメンバー初期化を必要とする |
CPP-44752 | [static] CODSTA-145 (CERT_C-POS30-c) で、'\0' によって初期化されているバッファーを例外にする |
CPP-44917 | [static] CERT MEM02 のマッピングを改善する |
CPP-45439 | [static] AUTOSAR-A2_10_5_a は静的ローカル変数をチェックするべきではない |
CPP-46011 | [static] CERT-ERR33 および CERT-POS54 のマッピングを改善する |
CPP-46408 | [static] CERT_C-CON33-a: SECURITY-25 ルールの関数のリストを見直す |
CPP-47128 | [static] MISRAC2012-RULE_5_9-a がリンケージのないオブジェクトに対して違反を誤検出する |
CPP-47470 | [static] CODSTA-127 および CODSTA-127_b を拡張して配列型から整数型への変換を検出する |
CPP-47508 | [static] MISRA2008-5_0_10 ルールが MISRA C++ Rule 5-0-10 の例外に従っていない |
CPP-47804 | [static] CODSTA-203 は std::cout で使用されている文字列に対して違反を検出するべきではない |
CPP-47863 | [engine] 指示付きの初期化子でのキャストの復元が誤っている |
CPP-48197 | [静的] AUTOSAR A8-4-7 のマッピングを改善する |
CPP-49197 | [static] OOP-48 (AUTOSAR-M11_0_1-a) の POD の定義を改善する |
CPP-49771 | [静的] AUTOSAR A5-2-2 のマッピングを改善する |
CPP-49849 | [static] AUTOSAR A3-9-1: 文字に使用されるプレーンな char 型に対して違反をレポートしないことを検討する |
CPP-49917 | [静的] CERT_C-EXP36 のマッピングを改善する必要がある |
CPP-50105 | [static] AUTOSAR A2-3-1 で未定義の文字を表示する |
CPP-50174 | [静的] CERT_C-POS44 のマッピングを改善する |
CPP-51175 | [engine] edg.implicit_typename_enabled=true によるパース エラー |
CPP-51288 | [engine] error: qualified name is not allowed |
CPP-51304 | [engine] cpptestcc error: no instance of overloaded function "vfc::slerp" matches the argument list |
CPP-51452 | [rulewizard] _Static_assert の式を静的解析ルールで検出するべきである |
CPP-51594 | [compiler] GNU GCC 10 aarch32/arm のサポート |
CPP-51687 | [static] GLOBAL-UNUSEDTYPE (MISRA2008-0_1_5) が、使用されているエイリアスに対して違反を誤検出する |
CPP-51753 | [compiler] WindRiver Clang/ARM 9.0.1 および VxWorks 7.0 SR 640 for Linux (extended) のサポート |
CPP-51767 | [static] MISRA2004-11_3_a (AUTOSAR-M5_2_9-a) は uintptr_t および intptr_t 型を例外にするべきである |
CPP-51773 | [compiler] GNU GCC 11 aarch32/arm のサポート |
CPP-51843 | [compiler] 静的 asm プロシージャおよび 'rvct_5_0_uV' でパース エラー |
CPP-51853 | [static] テンプレート関数で変数が使用されている場合、MISRA2004-8_7 (AUTOSAR-M3_4_1-b) が違反を誤検出する |
CPP-51854 | [static] EXCEPT-17 (AUTOSAR-M15_3_6-a) がネストされた try-catch ブロックに対して違反を誤検出する |
CPP-52158 | [engine] CWC internal error: assertion failed at: "exprutil.c", line 17859 in alloc_expr_ctor_dynamic_init |
CPP-52163 | [compiler] TASKING-6.3 で '_packed_' 属性に対してパース エラー |
CPP-52185 | [static] MISRAC2012-RULE_2_1 のマッピングに BD-PB-UCMETH ルールを追加するべき |
CPP-52188 | [静的] CERT_C-EXP20 のマッピングを改善する |
CPP-52196 | [static] MISRAC2012-RULE_10_1-a (CODSTA-161_a) は、ポインターが論理演算子のオペランドである場合に違反を検出するべき |
CPP-52212 | [engine] Instrumentation error: final specifier on templated class not reconstructed |
CPP-52222 | [ide] C+test Professional によって開始される C+test Engine (Standard) に渡す build.id 値は、現在時刻ではなくセッション開始時刻を使用して計算するべき |
CPP-52242 | [static] CERT-MSC07_C および CERT-MSC12_C のマッピングを改善する |
CPP-52250 | [engine] CRTP C++ 技術のインストゥルメンテーション エラー |
CPP-52260 | [engine] テンプレート クラス特殊化のボディ外テンプレート メソッド定義のカバレッジを収集できない |
CPP-52264 | [static] PB-69 が python エラーをレポートする |
CPP-52266 | [static] CODSTA-CPP-92 (MISRA2008-10_2_1) が代入演算子に対して違反を誤検出する |
CPP-52274 | [rulewizard] Typedef がコンストラクターの呼び出しに使用されている場合に参照できない |
CPP-52302 | [compiler] iccarm レスポンス ファイル内の Windows 形式のパスが評価されるべきでない場合に評価されている |
CPP-52322 | [static] CERT-C INT10 のマッピングを改善する |
CPP-52338 | [static] GLOBAL-UNUSEDTYPE (MISRA2008-0_1_5) が、実際は使用されているエイリアスに対して違反を誤検出する |
CPP-52344 | [static] MISRA2008-2_10_6_a (CODSTA-CPP-87_a) の誤検出: クラス名とそのコンストラクター名の競合する識別子に対して違反がレポートされる |
CPP-52345 | [static] CERT_CPP-DCL60-a (GLOBAL-UNIQUETYPE) 違反の誤検出: クラスとそのコンストラクターが同じ名前であることに違反がレポートされる |
CPP-52351 | [engine] error: expression must have a constant value |
CPP-52372 | [compiler] Hexagon 8.6 のサポート (Linux, Extended, Full) |
CPP-52384 | [rulewizard] Using 宣言がテンプレート基底クラスの entity->MemberFunction を参照しない |
CPP-52385 | [rulewizard] 推論補助を関数定義として検出するべきではない |
CPP-52386 | [engine] clang コンパイラの識別対象オプションとして enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang を追加する |
CPP-52416 | [static] 行抑制の不一致 |
CPP-52483 | [docs] CPPTEST_MULTI_PROCESSES_LOG コンフィギュレーション マクロをドキュメントに記載する |
CPP-52515 | [static] OPT-32_b (MISRA2008-0_1_8_b) が static_assert 式だけを含むテンプレート関数に対して違反を誤検出する |
CPP-52521 | [engine] インストゥルメンテーションの誤り |
CPP-52530 | [static] GLOBAL-UNUSEDTYPE (MISRA2008-0_1_5) がテンプレート引数としてだけ使用されているローカル構造体に対して違反を誤検出する |
CPP-52538 | [rulewizard] テンプレート インスタンス内の _Static_assert の式を静的解析ルールで検出するべきである |
CPP-52544 | [static] CODSTA-CPP-53 (AUTOSAR-A7_1_1-a) ルールを分割する (パラメーターを個別にチェックする) |
CPP-52558 | [engine] error: 'key_only' is not captured |
CPP-52577 | [static] 識別子が特定の文字の組み合わせで異なっている場合、NAMING-47 (MISRA2008-2_10_1) が違反を検出しない |
CPP-52578 | [static] パラメーターが decltype() でだけ使用されている場合、OPT-03 (AUTOSAR-A0_1_4-a) が違反を誤検出する() |
CPP-52581 | [static] テンプレートで使用されている const/constexpr の初期化子内にあるハードコード値に対して CODSTA-26 (HICPP-5_1_1-a) が違反を誤検出する |
CPP-52593 | [static] MISRA2004-16_8 (AUTOSAR-A8_4_2-a) が 'if constexpr' 内に 'return' がある関数に対して違反を誤検出する |
CPP-52599 | [engine] Error[Pe265]: member "A::c_numberOfA" (declared at line 19) is inaccessible |
CPP-52602 | [static] MISRA2004-17_5 (MISRAC2012-RULE_18_5-a) が関数パラメーター内の配列へのポインターに対して違反を誤検出する |
CPP-52603 | [static] MISRA2004-16_7 (MISRAC2012-RULE_8_13-a) が配列型へのポインターに対して違反を誤検出する |
CPP-52623 | [static] 関数の 'if constexpr' 内に非 static コードがある場合、CODSTA-CPP-78 (MISRA2008-9_3_3) が違反を誤検出する |
CPP-52625 | [static] 関数が間接的な無名の名前空間に宣言されている場合、CODSTA-81 (MISRA2008-3_3_2) が違反を誤検出する |
CPP-52648 | [rulewizard] decltype() 内の式を静的解析ルールで検出するべきである |
CPP-52656 | [static] [[fallthrough]] 属性が null ステートメントと同じ行にある場合に MISRA2004-14_3 (AUTOSAR-M6_2_3-a) が違反を検出する |
CPP-52659 | [static] for-range 要素へのアドレスが返される場合、MISRA2004-17_6_a (AUTOSAR-A3_8_1-b) が違反を誤検出する |
CPP-52669 | [static] INTERNAL-METRICS-METHODS2 ルール実行時にエラーが発生する |
CPP-52674 | [engine] キャプチャがないラムダで参照が利用できない |
CPP-52702 | [engine] error: expression must have a constant value |
CPP-52736 | [static] 派生クラスのコンストラクターがメンバーを初期化している場合に CODSTA-MCPP-37 (AUTOSAR-A12_1_6-a) が違反を誤検出する() |
CPP-52743 | [static] コンストラクターで静的メンバーに代入されている場合、INIT-18 (AUTOSAR-A12_1_2-a) が違反を誤検出する |
CPP-52745 | [engine] error: invalid cast from type '__m128i {aka __vector(2) long long int}' to type 'cv_ void_ptr {aka const volatile void*}' |
CPP-52760 | [static] MISRA2008-5_2_10 が非算術演算子を違反としてレポートする |
CPP-52769 | [engine] aarch64 の __va_list 型のサポートを追加する |
CPP-52797 | [compiler] IAR コンパイラの --utf8_text_in オプションの解釈が誤っている |
CPP-52819 | [static] OOP-07 (AUTOSAR-A10_1_1-a) がインターフェイス クラスを適切に検出できない |
CPP-52825 | [engine] 関数テンプレート "f" のインスタンスが引数リストに一致しない |
CPP-52831 | [static] テンプレートの static_assert で変数が使用されている場合、GLOBAL-ONEUSEVAR (MISRA2008-0_1_4) が違反を誤検出する |
CPP-52839 | [静的] AUTOSAR A8-4-3 のマッピングを改善する |
CPP-52875 | [static] MISRAC2012-RULE-12_2 ルールのマッピングを改善する |
CPP-52876 | [static] 列挙型の前方宣言に対して GLOBAL-ONEFILEDECL (AUTOSAR-M3_2_3) が違反を誤検出する |
CPP-52877 | [static] 'std::initializer_list' による初期化リストが使用されている場合に PB-41_b が違反を誤検出する |
CPP-52879 | [compiler] 属性によって Clang 10 の無効なアライメント値が指定されている |
CPP-52890 | [compiler] error C3615: constexpr function 'operator new' cannot result in a constant expression |
CPP-52892 | [static] コンストラクターの初期化リストでパラメーターが使用されている場合に CODSTA-CPP-103 (AUTOSAR-A8_4_8-a) が違反を誤検出する |
CPP-52977 | [static] CODSTA-224 (AUTOSAR-A5_16_1-a) がテンプレート メンバー初期化子で使用されている条件演算子に対して違反を誤検出する |
CPP-52984 | [engine] GCC は "weak" 文字列が constexpr であることを許可する |
CPP-53007 | [ide] Update the title with the information using "collapse all" link on test case editor |
CPP-53070 | [static] CODSTA-184 が IndexError: list index out of range をレポートする |
CPP-53100 | [cli] スキップされたテストがある GoogleTest レポートで C/C++test Standard CLI がクラッシュする |
CPP-53683 | [ide] テスト ケース エディターの「コード」で「スタブ設定」を編集する際の問題 |
FA-4985 | 値がテンプレート パラメーターに依存する条件に対して BD-PB-CC が違反を誤検出する |
FA-9225 | BD-PB-VOVR の [変数の値が使用されていないパスが少なくとも 1 つある場合にレポートする] パラメーターの動作が説明と一致していない |
FA-9261 | 範囲外の値の等価性をチェックしている場合、BD-PB-CC が違反を検出できない。 |
FA-9265 | 参照型での失敗した dynamic_cast のモデルが誤って 'std::bad_cast' ではなく 'int' をスローしている |
FA-9335 | センシティブ モードで除数がキャストされている場合に BD-PB-ZERO が違反を誤検出する |
FA-9368 | BD-PB-NOTINIT の誤検出 |
PT-1350 | Command Line 機能が見つからない場合、cpptest.license.wait.for.tokens.time not が待機しない |
PT-1704 | [ VS ] Visual Studio プラグインでプロキシがサポートされていない |
PT-1727 | [起動時にライセンスを無効にし、アイドル時に自動的に解放する] オプションが動作していない |
XT-41092 | ルール リンクへの相対パスが絶対パスに解決されるため、レポートおよびルール ドキュメントがポータブルではない |
CPP-52820* | [engine] Instrumentation error: Expression must have a constant value instrumentation failure |
CPP-53718* | [engine] constexpr __builtin_strcmp/__builtin_memcmp causes memory buffer overrun |
CPP-53785* | [static] OPT-43: IndexError: string index out of range |
XT-41178* | Gitlab SAST v.15 レポート フォーマットのサポート |
* C/C++test 2023.1.1 以降で利用可能
ルールの更新
新規ルール
ルール ID | ヘッダー |
---|---|
APSC_DV-002590-l | 符号付き整数のオーバーフローを避ける |
AUTOSAR-A2_10_5-c | 内部リンケージを持つオブジェクトを定義する識別子は一意でなければならない |
AUTOSAR-A2_10_5-d | 内部リンケージを持つ関数を定義する識別子は一意でなければならない |
AUTOSAR-A3_9_1-c | プレーンな char 型の代わりに typedef を使用するべきである |
AUTOSAR-A4_7_1-i | 整数型の変換によるデータの損失を避ける |
AUTOSAR-A4_7_1-j | 符号付き整数のオーバーフローを避ける |
AUTOSAR-A4_7_1-k | 整数型の変換による値の変化を避ける |
AUTOSAR-A7_1_1-b | 可能な場合は常にパラメーターを const 宣言する |
AUTOSAR-M0_1_3-d | プロジェクトに外部リンケージを持つ未使用の型があるべきではない |
AUTOSAR-M0_1_3-e | プロジェクトに内部リンケージを持つ未使用の変数が含まれるべきではない |
BD-PB-INTDL | 整数型の変換によるデータの損失を避ける |
BD-PB-INTUB | 符号付き整数のオーバーフローを避ける |
BD-PB-INTVC | 整数型の変換による値の変化を避ける |
BD-PB-INTWRAP | 整数の算術演算によるラップアラウンドを避ける |
BD-PB-NOTINITAT | アトミック オブジェクトを使用する前に、適切に初期化する |
BD-TRS-THRDR | スレッド間のデータ競合があってはならない |
BD-TRS-THRDSTR | スレッド同期オブジェクトをスレッドで破棄するべきではない |
BD-TRS-THRINIT | スレッド同期オブジェクトをスレッドで初期化するべきではない |
BD-TRS-THRTHR | スレッドでスレッドを作成するべきではない |
BD-TRS-THRTSS | スレッド固有のストレージをスレッドで作成するべきではない |
BD-TRS-TIMEDLOCK | タイムアウトをサポートしていない mutex で標準ライブラリ関数 mtx_timedlock() を呼び出すべきではない |
CERT_C-DCL00-b | 可能な場合は常にパラメーターを const 宣言する |
CERT_C-EXP20-b | オペランドが実質的にブール型である場合を除き、 0 との比較テストは明示的に行うべきである |
CERT_C-INT08-b | 符号付き整数のオーバーフローを避ける |
CERT_C-INT08-c | 整数型の変換による値の変化を避ける |
CERT_C-INT08-d | 整数の算術演算によるラップアラウンドを避ける |
CERT_C-INT31-p | 整数型の変換による値の変化を避ける |
CERT_C-MSC07-i | 到達できないメソッドを避ける |
CERT_C-MSC12-i | 到達できないメソッドを避ける |
CERT_C-MSC12-j | 常に同じ値に評価される条件式を避ける |
CERT_C-MSC12-k | すべての空でない文は、どのように実行されても1つ以上の副作用を持つか、制御フローを変えなければならない |
CODSTA-112_b | 可変的に変更された配列へのポインター型を使用するべきではない |
CODSTA-220_b | small integer 版の最少幅整数定数マクロを使用するべきではない |
CODSTA-223_b | プレーンな char 型の代わりに typedef を使用するべきである |
CODSTA-226_a | エラーを返す可能性がある標準ライブラリ関数から返された値を使用するべきである |
CODSTA-226_b | 戻り値をチェックする必要がない標準ライブラリ関数を 'void' にキャストするべきである |
CODSTA-227 | エラーを返す可能性がある POSIX ライブラリ関数から返された値を使用するべきである |
CODSTA-228_a | 代入、インクリメント、デクリメント演算子を含むストリーム引数を使用して 'getc()'、'putc()'、'getwc()'、または 'putwc()' を呼び出さない |
CODSTA-228_b | 関数呼び出しまたは関数マクロの呼び出しを含むストリーム引数を使用して 'getc()'、'putc()'、'getwc()'、または 'putwc()' を呼び出さない |
CODSTA-229 | 剰余演算子 '%' のオペランドは符号なし整数型でなければならない |
CODSTA-230 | ポインターをより厳密にアライメントされたポインター型にキャストしない |
CODSTA-231 | スレッド記憶域期間を持つオブジェクトのアドレスを静的記憶域期間を持つオブジェクトに代入してはならない |
CODSTA-232 | インクリメント (++) およびデクリメント (--) 演算子と算術演算子を 1 つの式で混在させるべきではない |
CODSTA-301 | ポインターが指す型から変換によって 'const'、'volatile'、'_Atomic' 修飾子を取り除いてはならない |
CODSTA-302 | シフト演算子の右辺のオペランドは、ゼロと左辺のオペランドの実質型のビット数より 1 少ない数の間でなければならない |
CODSTA-CPP-108 | コピーのコストが低い型への const 参照のパラメーターは、値で渡すべきである |
CODSTA-CPP-108_b | トリビアルなコピー コンストラクターを持つ小さいオブジェクトは値で渡す |
CODSTA-CPP-109 | 「コピーのコストが低い」型以外のパラメーターは参照で渡すべきである |
CODSTA-CPP-53_b | 可能な場合は常にパラメーターを const 宣言する |
CODSTA-MC-101 | スレッド オブジェクト、スレッド同期オブジェクト、スレッド固有記憶域ポインターは自動記憶域期間を持ってはならない |
CODSTA-MC-16 | 'void' 型に '_Atomic' 修飾子を使用するべきではない |
CODSTA-MC-17 | 構造体および共用体型の atomic オブジェクトのメンバーに直接アクセスするべきではない |
CODSTA-MC-18 | キャストでポインターの型から '_Atomic' 修飾子を取り除いてはならない |
CODSTA-MC-19 | atomic 型の式の値は、スレッドの交互アクセスの影響を受けるべきではない |
CODSTA-MC-20 | 明示的なメモリ順序引数として 'memory_order_seq_cst' だけを使用するべきである |
CODSTA-MC-21 | 'mtx_init()' 関数の呼び出しに渡される 2 番目の引数は、 'mtx_plain'、'mtx_timed'、'mtx_plain | mtx_recursive'、または 'mtx_timed | mtx_recursive' にするべきである |
CODSTA-MC-22 | スレッド オブジェクト、スレッド同期オブジェクト、スレッド固有記憶域ポインターは、適切な標準ライブラリ関数を使用してアクセスする |
CWE-190-h | 符号付き整数のオーバーフローを避ける |
GLOBAL-REUSEDEXTFUN | 外部リンケージを持つ関数を定義する識別子は一意でなければならない |
GLOBAL-REUSEDEXTFUN | 外部リンケージを持つオブジェクトを定義する識別子は一意でなければならない |
GLOBAL-REUSEDSTATFUN | 内部リンケージを持つ関数を定義する識別子は一意でなければならない |
GLOBAL-REUSEDSTATVAR | 内部リンケージを持つオブジェクトを定義する識別子は一意でなければならない |
GLOBAL-UNIQUETYPEC | タグ名は一意の識別子でなければならない |
GLOBAL-UNIQUETYPEDEFC | typedef 名は一意の識別子でなければならない |
GLOBAL-UNUSEDEXTVAR | プロジェクトに外部リンケージを持つ未使用の型があるべきではない |
HICPP-4_2_2-g | 整数型の変換によるデータの損失を避ける |
HICPP-4_2_2-h | 符号付き整数のオーバーフローを避ける |
HICPP-4_2_2-i | 整数型の変換による値の変化を避ける |
HICPP-7_1_2-b | 可能な場合は常にパラメーターを const 宣言する |
METRICS-44 | 関数内の実行パスの数が 80 を超えるべきではない |
MISRA2008-0_1_3_d | プロジェクトに外部リンケージを持つ未使用の型があるべきではない |
MISRA2008-0_1_3_e | プロジェクトに内部リンケージを持つ未使用の変数が含まれるべきではない |
MISRA2008-2_10_5_c | 静的記憶域期間を持つ非メンバー オブジェクトおよび関数の識別子名は、再使用すべきでない |
MISRA2008-2_10_5_d | 静的記憶域期間を持つ非メンバー オブジェクトおよび関数の識別子名は、再使用すべきでない |
MISRA2008-7_1_1_b | 可能な場合は常にパラメーターを const 宣言する |
MISRA2012-DIR-4_1_l | 符号付き整数のオーバーフローを避ける |
MISRA2012-DIR-4_1_m | 整数型の変換によるデータの損失を避ける |
MISRA2012-DIR-5_1 | 異なるロック間でグローバル変数を使用しない |
MISRA2012-DIR-5_1_b | 変数は単一の critical セクションのコンテキストで使用するべきである |
MISRA2012-DIR-5_1_c | スレッド間のデータ競合があってはならない |
MISRA2012-DIR-5_2 | 異なる順序でロックを獲得しない |
MISRA2012-DIR-5_3 | スレッドでスレッドを作成するべきではない |
MISRA2012-RULE-11_10 | 不完全な型 void に _Atomic 修飾子を適用してはならない |
MISRA2012-RULE-12_2_b | シフト演算子の右辺のオペランドは、ゼロと左辺のオペランドの実質型のビット数より 1 少ない数の間でなければならない |
MISRA2012-RULE-12_6 | atomic オブジェクトの構造体および共用体メンバーに直接アクセスしてはならない |
MISRA2012-RULE-13_2_h | atomic 型の式の値は、スレッドの交互アクセスの影響を受けるべきではない |
MISRA2012-RULE-18_10 | 可変的に変更された配列へのポインター型を使用するべきではない |
MISRA2012-RULE-18_6_c | スレッド記憶域期間を持つオブジェクトのアドレスを静的記憶域期間を持つオブジェクトに代入してはならない |
MISRA2012-RULE-21_25 | 明示的なメモリ順序引数として 'memory_order_seq_cst' だけを使用するべきである |
MISRA2012-RULE-21_26 | タイムアウトをサポートしていない mutex で標準ライブラリ関数 mtx_timedlock() を呼び出すべきではない |
MISRA2012-RULE-22_11 | すでに結合または切り離しされたスレッドを結合または切り離ししない |
MISRA2012-RULE-22_12 | スレッド オブジェクト、スレッド同期オブジェクト、スレッド固有記憶域ポインターは、適切な標準ライブラリ関数を使用してアクセスする |
MISRA2012-RULE-22_13 | スレッド オブジェクト、スレッド同期オブジェクト、スレッド固有記憶域ポインターは自動記憶域期間を持ってはならない |
MISRA2012-RULE-22_14_a | スレッド同期オブジェクトをスレッドで初期化するべきではない |
MISRA2012-RULE-22_14_b | 'mtx_init()' 関数の呼び出しに渡される 2 番目の引数は、 'mtx_plain'、'mtx_timed'、'mtx_plain | mtx_recursive'、または 'mtx_timed | mtx_recursive' にするべきである |
MISRA2012-RULE-22_15 | スレッド同期オブジェクトをスレッドで破棄するべきではない |
MISRA2012-RULE-22_16 | 解放されていないロックを放棄してはならない |
MISRA2012-RULE-22_17 | 獲得されていないロックを解放しない |
MISRA2012-RULE-22_18 | 二重ロックを避ける |
MISRA2012-RULE-22_19 | 条件変数は最大で 1 つの mutex 変数と関連付ける |
MISRA2012-RULE-22_20 | スレッド固有のストレージをスレッドで作成するべきではない |
MISRA2012-RULE-2_1_h | 到達できないメソッドを避ける |
MISRA2012-RULE-2_8_a | プロジェクトに外部リンケージを持つ未使用の型があるべきではない |
MISRA2012-RULE-2_8_b | プロジェクトに内部リンケージを持つ未使用の変数が含まれるべきではない |
MISRA2012-RULE-2_8_c | 使用されないローカル変数は避ける |
MISRA2012-RULE-5_8_b | 外部リンケージを持つ関数を定義する識別子は一意でなければならない |
MISRA2012-RULE-7_6 | small integer 版の最少幅整数定数マクロを使用するべきではない |
MISRA2012-RULE-9_6 | 連結された指示子を使用する初期化子に指示子なしの初期化子が含まれていてはならない |
MISRA2012-RULE-9_7 | アトミック オブジェクトを使用する前に、適切に初期化する |
MISRAC2012-DIR_4_1-l | 符号付き整数のオーバーフローを避ける |
MISRAC2012-DIR_4_1-m | 整数型の変換によるデータの損失を避ける |
MISRAC2012-DIR_5_1-a | 異なるロック間でグローバル変数を使用しない |
MISRAC2012-DIR_5_1-b | 変数は単一の critical セクションのコンテキストで使用するべきである |
MISRAC2012-DIR_5_1-c | スレッド間のデータ競合があってはならない |
MISRAC2012-DIR_5_2-a | 異なる順序でロックを獲得しない |
MISRAC2012-DIR_5_3-a | スレッドでスレッドを作成するべきではない |
MISRAC2012-RULE_11_10-a | 'void' 型に '_Atomic' 修飾子を使用するべきではない |
MISRAC2012-RULE_12_2-b | シフト演算子の右辺のオペランドは、ゼロと左辺のオペランドの実質型のビット数より 1 少ない数の間でなければならない |
MISRAC2012-RULE_12_6-a | 構造体および共用体型の atomic オブジェクトのメンバーに直接アクセスするべきではない |
MISRAC2012-RULE_13_2-h | atomic 型の式の値は、スレッドの交互アクセスの影響を受けるべきではない |
MISRAC2012-RULE_18_10-a | 可変的に変更された配列へのポインター型を使用するべきではない |
MISRAC2012-RULE_18_6-c | スレッド記憶域期間を持つオブジェクトのアドレスを静的記憶域期間を持つオブジェクトに代入してはならない |
MISRAC2012-RULE_21_25-a | 明示的なメモリ順序引数として 'memory_order_seq_cst' だけを使用するべきである |
MISRAC2012-RULE_21_26-a | タイムアウトをサポートしていない mutex で標準ライブラリ関数 mtx_timedlock() を呼び出すべきではない |
MISRAC2012-RULE_22_11-a | すでに結合または切り離しされたスレッドを結合または切り離ししない |
MISRAC2012-RULE_22_12-a | スレッド オブジェクト、スレッド同期オブジェクト、スレッド固有記憶域ポインターは、適切な標準ライブラリ関数を使用してアクセスする |
MISRAC2012-RULE_22_13-a | スレッド オブジェクト、スレッド同期オブジェクト、スレッド固有記憶域ポインターは自動記憶域期間を持ってはならない |
MISRAC2012-RULE_22_14-a | スレッド同期オブジェクトをスレッドで初期化するべきではない |
MISRAC2012-RULE_22_14-b | 'mtx_init()' 関数の呼び出しに渡される 2 番目の引数は、 'mtx_plain'、'mtx_timed'、'mtx_plain | mtx_recursive'、または 'mtx_timed | mtx_recursive' にするべきである |
MISRAC2012-RULE_22_15-a | スレッド同期オブジェクトをスレッドで破棄するべきではない |
MISRAC2012-RULE_22_16-a | 解放されていないロックを放棄してはならない |
MISRAC2012-RULE_22_17-a | 獲得されていないロックを解放しない |
MISRAC2012-RULE_22_18-a | 二重ロックを避ける |
MISRAC2012-RULE_22_19-a | 1 つの条件変数に対する並行待機処理に複数の mutex を使用しない |
MISRAC2012-RULE_22_20-a | スレッド固有のストレージをスレッドで作成するべきではない |
MISRAC2012-RULE_2_1-h | 到達できないメソッドを避ける |
MISRAC2012-RULE_2_8-a | プロジェクトに外部リンケージを持つ未使用の型があるべきではない |
MISRAC2012-RULE_2_8-b | プロジェクトに内部リンケージを持つ未使用の変数が含まれるべきではない |
MISRAC2012-RULE_2_8-c | 使用されないローカル変数は避ける |
MISRAC2012-RULE_5_8-b | 外部リンケージを持つ関数を定義する識別子は一意でなければならない |
MISRAC2012-RULE_7_6-a | small integer 版の最少幅整数定数マクロを使用するべきではない |
MISRAC2012-RULE_9_6-a | 連結された指示子を使用する初期化子に指示子なしの初期化子が含まれていてはならない |
MISRAC2012-RULE_9_7-a | アトミック オブジェクトを使用する前に、適切に初期化する |
MRM-58_a | メモリ割り当て関数の結果をただちにキャストするべきである |
MRM-58_b | メモリ割り当て関数の結果をただちに割り当てられた型のポインターにキャストするべきである |
OOP-07_c | 派生クラスのインターフェイス クラスではない基底クラスは最大で 1 つであることを確認する |
OPT-43 | プロジェクトに内部リンケージを持つ未使用の変数が含まれるべきではない |
PB-80 | 連結された指示子を使用する初期化子に指示子なしの初期化子が含まれていてはならない |
SECURITY-53 | 'pthread_kill'、'pthread_sigqueue'、および 'tgkill' 関数を使用してスレッドにシグナルを送信するべきではない |
更新されたルール
カテゴリ ID | ルール ID |
---|---|
DISA ASD STI | APSC_DV-001995-e, APSC_DV-001995-f, APSC_DV-002000-a, APSC_DV-002400-d, APSC_DV-002590-e, APSC_DV-003110-a |
AUTOSAR C++14 Coding Guidelines | AUTOSAR-A0_1_1-a, AUTOSAR-A0_1_6-a, AUTOSAR-A10_1_1-a, AUTOSAR-A12_1_2-a, AUTOSAR-A12_1_6-a, AUTOSAR-A12_8_3-a, AUTOSAR-A15_0_2-a, AUTOSAR-A15_1_4-a, AUTOSAR-A15_5_3-j, AUTOSAR-A2_10_4-a, AUTOSAR-A2_10_4-b, AUTOSAR-A2_10_5-a, AUTOSAR-A2_10_5-b, AUTOSAR-A2_3_1-a, AUTOSAR-A3_8_1-a, AUTOSAR-A3_8_1-b, AUTOSAR-A3_9_1-b, AUTOSAR-A4_7_1-h, AUTOSAR-A5_0_3-a, AUTOSAR-A5_16_1-a, AUTOSAR-A5_1_1-a, AUTOSAR-A5_2_2-a, AUTOSAR-A5_2_3-a, AUTOSAR-A5_3_2-a, AUTOSAR-A5_6_1-a, AUTOSAR-A7_1_1-a, AUTOSAR-A7_3_1-a, AUTOSAR-A8_4_2-a, AUTOSAR-A8_4_3-a, AUTOSAR-A8_4_7-a, AUTOSAR-A8_4_8-a, AUTOSAR-A8_5_0-a, AUTOSAR-M0_1_2-ac, AUTOSAR-M0_1_4-a, AUTOSAR-M0_3_1-e, AUTOSAR-M0_3_1-f, AUTOSAR-M10_2_1-a, AUTOSAR-M11_0_1-a, AUTOSAR-M15_3_6-a, AUTOSAR-M2_10_1-a, AUTOSAR-M3_2_3-a, AUTOSAR-M3_3_2-a, AUTOSAR-M3_4_1-b, AUTOSAR-M5_0_10-a, AUTOSAR-M5_2_10-a, AUTOSAR-M5_2_9-a, AUTOSAR-M6_2_3-a, AUTOSAR-M6_4_1-a, AUTOSAR-M7_1_2-b, AUTOSAR-M7_5_1-a |
Flow Analysis | BD-PB-BADSHIFT , BD-PB-CC, BD-PB-EXCEPT, BD-PB-NOTINIT, BD-PB-NP, BD-PB-SUBSEQMOVE, BD-PB-UCMETH , BD-PB-VOVR, BD-PB-ZERO, BD-RES-FREE, BD-RES-LEAKS, BD-TRS-MLOCK, BD-TRS-REVLOCK |
SEI CERT C | CERT_C-CON30-a, CERT_C-CON31-b, CERT_C-CON33-a, CERT_C-CON43-a, CERT_C-DCL00-a, CERT_C-DCL13-a, CERT_C-DCL22-a, CERT_C-DCL30-a, CERT_C-ERR33-a, CERT_C-ERR33-b, CERT_C-EXP05-a, CERT_C-EXP32-a, CERT_C-EXP33-a, CERT_C-EXP34-a, CERT_C-EXP36-a, CERT_C-EXP40-a, CERT_C-FIO22-a, CERT_C-FIO41-a, CERT_C-FIO41-b, CERT_C-FIO42-a, CERT_C-FIO46-a, CERT_C-FLP03-a, CERT_C-INT08-a, CERT_C-INT10-a, CERT_C-INT30-a, CERT_C-INT31-a, CERT_C-INT31-o, CERT_C-INT32-a, CERT_C-INT33-a, CERT_C-INT34-a, CERT_C-INT36-b, CERT_C-MEM00-d, CERT_C-MEM00-e, CERT_C-MEM01-a, CERT_C-MEM02-a, CERT_C-MEM02-b, CERT_C-MEM12-a, CERT_C-MEM30-a, CERT_C-MEM31-a, CERT_C-MSC09-a, CERT_C-MSC19-b, CERT_C-MSC37-a, CERT_C-MSC41-a, CERT_C-POS30-c, CERT_C-POS44-a, CERT_C-POS48-b, CERT_C-POS53-a, CERT_C-POS54-a, CERT_C-WIN30-a |
SEI CERT C++ | CERT_CPP-DCL57-b, CERT_CPP-DCL60-a, CERT_CPP-ERR50-j, CERT_CPP-ERR51-a, CERT_CPP-ERR54-a, CERT_CPP-ERR56-a, CERT_CPP-ERR57-a, CERT_CPP-EXP53-a, CERT_CPP-EXP54-a, CERT_CPP-EXP54-b, CERT_CPP-EXP55-a, CERT_CPP-EXP63-a, CERT_CPP-FIO51-a, CERT_CPP-MEM50-a, CERT_CPP-MSC52-a, CERT_CPP-STR51-a |
コーディング規約 | CODSTA-112, CODSTA-126, CODSTA-127, CODSTA-127_b, CODSTA-145, CODSTA-161_a, CODSTA-184, CODSTA-203, CODSTA-223, CODSTA-224, CODSTA-26, CODSTA-81 |
C++ コーディング規約 | CODSTA-CPP-103, CODSTA-CPP-11, CODSTA-CPP-53, CODSTA-CPP-92 |
Modern C++ コーディング規約 | CODSTA-MCPP-37 |
Common Weakness Enumeration | CWE-190-a, CWE-362-e, CWE-401-a, CWE-415-a, CWE-416-a, CWE-476-a, CWE-704-d, CWE-704-e, CWE-772-a, CWE-798-a |
例外 | EXCEPT-17 |
グローバル静的解析 | GLOBAL-CONDMUTEXVAR, GLOBAL-ONEDEFTYPE, GLOBAL-ONEFILEDECL, GLOBAL-ONEUSEVAR, GLOBAL-REUSEDQUALGLOBVAR, GLOBAL-REUSEDQUALSTATFUN, GLOBAL-UNIQUETYPE, GLOBAL-UNIQUETYPEDEF, GLOBAL-UNUSEDTYPE |
High Integrity C++ | HICPP-10_3_1-a, HICPP-13_1_1-a, HICPP-15_3_2-a, HICPP-18_2_2-a, HICPP-1_2_1-h, HICPP-1_2_1-i, HICPP-2_4_1-a, HICPP-3_4_1-a, HICPP-4_1_1-b, HICPP-4_2_2-e, HICPP-4_2_2-f, HICPP-5_1_1-a, HICPP-5_2_1-c, HICPP-5_4_1-a, HICPP-5_4_1-c, HICPP-5_5_1-a, HICPP-5_8_1-a, HICPP-6_1_1-b, HICPP-6_3_2-a, HICPP-7_1_2-a, HICPP-7_4_2-c, HICPP-7_4_3-a, HICPP-8_4_1-a, HICPP-8_4_1-b |
初期化 | INIT-18 |
Joint Strike Fighter | JSF-009, JSF-059_b, JSF-097_d, JSF-111, JSF-114, JSF-118, JSF-136_a, JSF-151, JSF-164, JSF-170 |
MISRA C 1998 | MISRA-005, MISRA-083 |
MISRA C 2004 | MISRA2004-10_5, MISRA2004-11_3_a, MISRA2004-11_3_b, MISRA2004-11_5, MISRA2004-14_3, MISRA2004-14_9, MISRA2004-16_7, MISRA2004-16_8, MISRA2004-16_8_b, MISRA2004-17_5, MISRA2004-17_6_a, MISRA2004-8_7 |
MISRA C++ 2008 | MISRA2008-0_1_2_aa, MISRA2008-0_1_4, MISRA2008-0_1_5, MISRA2008-0_1_6, MISRA2008-0_3_1_b, MISRA2008-0_3_1_c, MISRA2008-10_2_1, MISRA2008-11_0_1, MISRA2008-15_3_6, MISRA2008-15_5_3_j, MISRA2008-2_10_1, MISRA2008-2_10_3, MISRA2008-2_10_4, MISRA2008-2_10_5_a, MISRA2008-2_10_5_b, MISRA2008-3_2_3, MISRA2008-3_3_2, MISRA2008-3_4_1_b, MISRA2008-5_0_10, MISRA2008-5_0_19, MISRA2008-5_2_10, MISRA2008-5_2_5, MISRA2008-5_2_9, MISRA2008-6_2_3, MISRA2008-6_4_1, MISRA2008-7_1_1, MISRA2008-7_1_2_a, MISRA2008-7_5_1, MISRA2008-7_5_2_a, MISRA2008-8_4_3 |
MISRA C 2012 (Legacy) | MISRA2012-DIR-4_13_a, MISRA2012-DIR-4_13_b, MISRA2012-DIR-4_13_f, MISRA2012-DIR-4_1_b, MISRA2012-DIR-4_1_c, MISRA2012-DIR-4_1_k, MISRA2012-RULE-10_1_a, MISRA2012-RULE-11_3, MISRA2012-RULE-11_4, MISRA2012-RULE-11_8, MISRA2012-RULE-12_2, MISRA2012-RULE-14_3_zc, MISRA2012-RULE-15_6_b, MISRA2012-RULE-17_4, MISRA2012-RULE-17_4_b, MISRA2012-RULE-18_5, MISRA2012-RULE-18_6_a, MISRA2012-RULE-18_8, MISRA2012-RULE-1_3_a, MISRA2012-RULE-1_3_b, MISRA2012-RULE-1_3_c, MISRA2012-RULE-1_3_m, MISRA2012-RULE-21_16, MISRA2012-RULE-22_1, MISRA2012-RULE-22_2_a, MISRA2012-RULE-22_6, MISRA2012-RULE-2_2_b, MISRA2012-RULE-5_6_a, MISRA2012-RULE-5_7_a, MISRA2012-RULE-5_8, MISRA2012-RULE-5_9_a, MISRA2012-RULE-5_9_b, MISRA2012-RULE-8_13_a, MISRA2012-RULE-8_9, MISRA2012-RULE-9_1, MISRA2012-RULE-9_4 |
MISRA C 2023 (MISRA C 2012) | MISRAC2012-DIR_4_1-b, MISRAC2012-DIR_4_1-c, MISRAC2012-DIR_4_1-k, MISRAC2012-DIR_4_13-a, MISRAC2012-DIR_4_13-b, MISRAC2012-DIR_4_13-f, MISRAC2012-RULE_10_1-a, MISRAC2012-RULE_11_3-a, MISRAC2012-RULE_11_4-a, MISRAC2012-RULE_11_8-a, MISRAC2012-RULE_12_2-a, MISRAC2012-RULE_14_3-ac, MISRAC2012-RULE_15_6-b, MISRAC2012-RULE_17_4-a, MISRAC2012-RULE_17_4-b, MISRAC2012-RULE_18_5-a, MISRAC2012-RULE_18_6-a, MISRAC2012-RULE_18_8-a, MISRAC2012-RULE_1_3-a, MISRAC2012-RULE_1_3-b, MISRAC2012-RULE_1_3-c, MISRAC2012-RULE_1_3-m, MISRAC2012-RULE_21_16-a, MISRAC2012-RULE_22_1-a, MISRAC2012-RULE_22_2-a, MISRAC2012-RULE_22_6-a, MISRAC2012-RULE_2_2-b, MISRAC2012-RULE_5_6-a, MISRAC2012-RULE_5_7-a, MISRAC2012-RULE_5_8-a, MISRAC2012-RULE_5_9-a, MISRAC2012-RULE_5_9-b, MISRAC2012-RULE_8_13-a, MISRAC2012-RULE_8_9-a, MISRAC2012-RULE_9_1-a, MISRAC2012-RULE_9_4-a |
MISRA C++ 202X | MISRACPP202X-0090-a, MISRACPP202X-0097-a, MISRACPP202X-0110-b, MISRACPP202X-0150-a, MISRACPP202X-0152-a, MISRACPP202X-0280-b |
名前付け規則 | NAMING-20, NAMING-47 |
Object Oriented | OOP-07, OOP-48 |
OWASP Top 10 2017 | OWASP2017-A6-a |
OWASP Top 10 2019 | OWASP2019-API4-b, OWASP2019-API7-b |
OWASP Top 10 2021 | OWASP2021-A5-a |
バグの可能性 | PB-41_b, PB-69 |
セキュリティ | SECURITY-25 |
STL Best Practices | STL-31, STL-34, STL-35 |
削除されたルール
ルール ID | 注意 |
---|---|
AUTOSAR-A8_4_7-b | AUTOSAR C++ 14 コンフィギュレーションから削除されました - AUTOSAR-A8_4_7-a に置き換えられました。 |
CERT_C-ERR33-c | CERT C コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、BD-PB-NP を代替として使用できます。 |
CERT_C-FIO41-c | CERT C コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、MISRA2004-12_2_c を代替として使用できます。 |
CERT_C-FIO41-d | CERT C コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、MISRA2004-12_2_d を代替として使用できます。 |
CERT_C-FIO41-e | CERT C コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-123 を代替として使用できます。 |
CERT_C-POS54-b | CERT C コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-122_b を代替として使用できます。 |
CERT_C-POS54-c | CERT C コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、BD-PB-NP を代替として使用できます。 |
CODSTA-180 | 代わりに GLOBAL-REUSEDEXTVAR、GLOBAL-REUSEDEXTFUN を使用できます。 |
HICPP-8_2_3-b | High Integrity C++ コンフィギュレーションから削除されました - HICPP-8_2_3-a に置き換えられました。 |
MISRA2012-RULE-1_4_d | MISRA C 2012 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-214 を代替として使用できます。 |
MISRA2012-RULE-1_4_e | MISRA C 2012 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-209 を代替として使用できます。 |
MISRA2012-RULE-1_4_f | MISRA C 2012 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-210 を代替として使用できます。 |
MISRA2012-RULE-1_4_g | MISRA C 2012 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-211 を代替として使用できます。 |
MISRA2012-RULE-5_6_b | MISRA C 2012 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、MISRA2004-5_3_b を代替として使用できます。 |
MISRA2012-RULE-5_7_b | MISRA C 2012 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、MISRA2004-5_4_b を代替として使用できます。 |
MISRAC2012-RULE_1_4-d | MISRA C 2012 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-214 を代替として使用できます |
MISRAC2012-RULE_1_4-e | MISRA C 2012 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-209 を代替として使用できます。 |
MISRAC2012-RULE_1_4-f | MISRA C 2012 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-210 を代替として使用できます。 |
MISRAC2012-RULE_1_4-g | MISRA C 2012 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、CODSTA-211 を代替として使用できます。 |
MISRAC2012-RULE_5_6-b | MISRA C 2012 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、MISRA2004-5_3_b を代替として使用できます。 |
MISRAC2012-RULE_5_7-b | MISRA C 2012 コンフィギュレーションから削除されました。他のコンフィギュレーションに関しては、MISRA2004-5_4_b を代替として使用できます。 |