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