リリース日: 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.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 上で静的解析を実行できるようになりました。

サポート対象 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
  • 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

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-641SVN 認証に引用符が必要
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

  • No labels