リリース日: 2021年5月12日

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

Lattix Architect との統合

ソフトウェア アーキテクチャの解析と改善に役立つ Lattix Architect との統合が追加されました。C/C++test はプロジェクトのコード依存関係データを収集し、後で Lattix Architect にインポートできるファイルとしてエクスポートします。「Lattix Architect との統合」を参照してください。

GitHub 統合の拡張

このリリースには、GitHub ワークフローの円滑化に役立つ以下の拡張が含まれます。

  • GitHub の SARIF フォーマットでのレポート生成。これにより、GitHub が C/C++test の静的解析の指摘事項を GitHub コード スキャンの警告として表示することが可能です。
  • C/C++test で解析を実行し、GitHub でプロジェクトの一部として結果を参照するための新しい C/C++test アクション 

詳細は GitHub の C/C++test アクション ドキュメントを参照してください:https://github.com/marketplace/actions/run-parasoft-c-c-test

CMake との統合の拡張

C/C++test には、C/C++test のコードカバレッジ解析を直接 CMake プロジェクトに統合するための CMake 用カバレッジ拡張が付属しています。拡張機能は自動的にコンパイラ/リンカー コマンド ラインを変更し、プロジェクトのビルド時に cpptestcc カバレッジ ツールを使用します。「CMake プロジェクトのアプリケーション カバレッジの収集」を参照してください。

Visual Studio との統合の改善

このリリースでは、Visual Studio との統合が改善されました。プラグインのインストール プロセス全体を案内する Parasoft Plugin インストーラーを実行して Visual Studio と統合できます。「Plugin for Visual Studio」を参照してください。 

C/C++test Extension for Visual Studio Code の拡張

C/C++test Extension for Visual Studio Code の機能が拡張されました。外部 URL または GitHub リポジトリから解析結果をインポートできるようになりました。

C/C++test extension for Visual Studio Code の詳細については Visual Studio Code Marketplace を参照してください。

セキュリティ コンプライアンス パックの拡張

セキュリティ パックが拡張され、新たに以下の標準がサポートされました。

  • DISA ASD STIG
  • OWASP API Security Top 10-2019

新しいテスト コンフィギュレーションは、上記の標準で指定された弱点を検出するのに役立ちます。「追加または更新されたテスト コンフィギュレーション」を参照してください。

コンパイラのサポート

新たに以下のコンパイラがサポートされました。

コンパイラ名コンパイラ略称
Green Hills Software Compiler for ARM64 v. 2020.1.xghsarm64_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 で静的解析実行に使用できるようになりました。

追加または更新されたテスト コンフィギュレーション

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

  • DISA-ASD-STIG
  • Export Code Dependency Data
  • OWASP API Security Top 10 2019

追加または更新された解析ルール

新規静的解析ルールが追加され、コンプライアンス標準のカバー範囲が拡張されました。詳細については「新規ルール」、「更新されたルール」を参照してください。

その他の変更

  • フロー解析実行時およびコード カバレッジ収集時のパフォーマンスが改善されました。
  • 開発テスト ワークフローに Parasoft DTP との統合が含まれている場合、Parasoft の SDLC 機能をフルに活用するには、DTP のバージョンを 2021.1 にアップデートします。
  • 匿名の使用状況データを Parasoft に送信することで C/C++test の改善を支援できます。デフォルトでは、使用状況データのレポートは無効化されています。IDE または C/C++test 設定でいつでもオプトインできます。
  • 2021.1.1 で log4j の脆弱性 CVE-2021-44228 に対処しました。

非推奨の環境およびサポート対象から削除された環境

サポート対象から削除されたプラットフォーム

次の非推奨の環境のサポートは廃止されました。

  • 32-bit プラットフォーム
  • Windows 7
  • Windows Server 2008
  • Windows Server 2012

サポート対象から削除された IDE

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

  • Eclipse 4.2

非推奨の IDE

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

  • Eclipse 4.3、4.4、および 4.5
  • Visual Studio 2012 および 2013

非推奨のコンパイラ

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


コンパイラ ファミリー非推奨のコンパイラ
Altium
  • Classic compiler for C166/ST10 v. 6.0
  • Vx-toolset for TriCore C/C++ Compiler 6.0
ARM
  • ARM GNU GCC 4.5
Embarcadero
  • Embarcadero C++ Compiler 6.2x for Win32
  • Embarcadero C++ Compiler 6.9x for Win32
Clang
  • Clang C/C++ Compiler v 3.9
  • Clang C/C++ Compiler v 4.0
Cosmic Software
  • 68HC08 C Cross Compiler V4.6.x
GNU GCC
  • GNU GCC 4.5.x
  • GNU GCC 4.5.x (x86_64)
  • GNU GCC 4.6.x
  • GNU GCC 4.6.x (x86_64)
  • GNU GCC 4.7.x
  • GNU GCC 4.7.x (x86_64)
  • GNU GCC 4.8.x
  • GNU GCC 4.8.x (x86_64)
  • GNU GCC 4.9.x
  • GNU GCC 4.9.x (x86_64)
Green Hills Software
  • Green Hills Software Compiler Native v. 4.2.x
  • Green Hills Software Compiler for V850 v. 5.1.x
  • Green Hills Software Compiler for PPC v. 3.5
IAR Compilers
  • IAR Compiler for ARM v. 6.6x
  • IAR Compiler for ARM v. 6.7x
  • IAR Compiler for RX v. 2.5x
  • IAR Compiler for RX v. 2.6x
Keil
  • Keil C166 7.0
  • Keil C51 8.x
Microsoft
  • 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 9.0
  • LabWindows/CVI 2013 Clang C/C++ Compiler v2.9 for Win32
Renesas
  • M16C/R8C C Compiler 5.4x
  • RX C/C++ Compiler 2.2x
  • SH Series C/C++ Compiler V.5.1x.x
  • SH Series C/C++ Compiler V.9.03.xx
Texas Instruments
  • TI ARM C/C++ Compiler v5.1.x
  • TI TMS320C6x C/C++ Compiler v7.4
Wind River
  • Wind River GCC 3.3.x
  • Wind River GCC 4.1.x
  • Wind River GCC 4.3.x
  • Wind River Diab 5.7.x
  • Wind River Diab 5.8.x


解決済みのバグおよび 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

pragma の後に asm 宣言が続く場合にパーサーがクラッシュする

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 拡張機能を 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

FlowAnalysis の違反パスがハイライトされない

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

constexpr で Error: expression must have a constant value の問題

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-a の誤検出

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 構造体を引数として渡している場合、誤った CFG が作成される

FA-8337

MISRAC2012-DIR_4_1-a(BD-PB-ARRAY) の誤検出

FA-8339

BD-PB-VOVR の誤検出

FA-8347

ループ変数がキャストされている場合に BD-PB-ARRAY ルールが違反を誤検出する

XT-38874Git サブモジュール内の作業ブランチで変更されたファイルの解析に関する問題 
XT-38952パスワードに (¨) 記号付きの A が含まれる場合、C++test の GUI で DTP からライセンスを取得できない
XT-39009AWS Linux 環境で NativeSharedMemory がクラッシュする 




新規ルール

ルール 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-API8-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

Modern 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

Formatting

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 (レガシー)

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

  • No labels