リリース日: 2020年11月9日

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

新しい抑制フォーマット

静的解析の指摘事項の抑制を parasoft.suppress ファイルに作成し、ソース ファイルとともにソース管理システムに保存できます。C/C++test GUI で抑制ファイルを作成するか、抑制したい指摘事項の情報を手動で抑制ファイルに追加します。「静的解析違反メッセージの抑制」を参照してください。

ローカルまたは Team Server への XML 形式フォーマットでの抑制の保存は、抑制ビューとともに非推奨になりました。非推奨の抑制を新しいフォーマットに移行するか、抑制ビューで非推奨の抑制フォーマットを有効化できます。「非推奨の抑制の扱い」を参照してください。

さらに、正規表現パターンに一致する行で検出された静的ルール違反を自動的に抑制するよう設定できます。「正規表現パターンに基づく行抑制の定義」を参照してください。

静的解析の拡張

C/C++test の静的解析に、最も有益なタスクに集中するのに役立つ新機能が追加されました。

現在のブランチで変更されたコードをターゲットとする新しいスコープ オプション

現在の作業ブランチで変更されたファイルだけに解析範囲を制限するファイル フィルターを作成できるオプションが追加されました。これにより、メインの開発ストリームにコードをマージする前に、最近のコードの変更で入り込んだバグを検出し、修正する作業に集中できるようになります。

さらに、ローカルで変更されたファイルだけに範囲を狭め、変更したコードをソース管理システムにチェックインする前に解析することもできます。

詳細は「ソース管理データに基づくファイル フィルターの定義」を参照してください。

コード解析ベースラインを定義する新しいレポート参照オプション

C/C++test での解析実行時にベースラインとして使用される参照レポート ファイルへのパスまたは URL を指定できるようになりました。これにより、以前にレポートされた指摘事項を現在のレポートから除外し、最近検出されたコードの欠陥だけに集中できるようになります。「参照レポートの設定」を参照してください。

DTP へのカバレッジ レポートの拡張

サポートされるすべての種類のカバレッジのデータを DTP にパブリッシュし、カバレッジ ウィジェットに表示できるようになりました。これにより、DTP ダッシュボードで簡単にカバレッジ統計およびトレンドを解析できます。「カバレッジの種類」および「DTPとの接続」を参照してください。


その他の拡張

  • フローベースの解析実行に必要なデータ セットを構築する際のディスク使用量を削減しました。
  • モダン C++ のフローベース解析パフォーマンスが改善されました。
  • 追加の詳細設定を指定して、C/C++test による静的解析を微調整できるようになりました。「詳細オプションの設定」を参照してください。
  • プロジェクト作成ウィザードは、CMake ビルド システムによって生成された JSON フォーマットのビルド定義ファイルをインポートできるようになりました。 

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

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

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

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

  • AUTOSAR C++14 Coding Guidelines
  • Flow Analysis Aggressive
  • Flow Analysis Fast
  • Flow Analysis Standard
  • High Integrity C++
  • Joint Strike Fighter
  • MISRA C 1998
  • MISRA C 2004
  • MISRA C 2012
  • MISRA C++ 2008
  • Recommended Rules for FDA (C)
  • Recommended Rules for FDA (C++)
  • SEI CERT C Guidelines
  • SEI CERT C Rules
  • SEI CERT C++ Rules

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

非推奨のプラットフォーム

次のプラットフォームのサポートは非推奨であり、将来のリリースで削除される予定です。

  • Windows Server 2008
  • Windows Server 2012

削除された IDE

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

  • Visual Studio 2008
  • Visual Studio 2010

削除されたソース管理システム

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

  • AccuRev
  • ClearCase
  • CVS
  • Serena Dimensions
  • StarTeam
  • Synergy CM
  • Visual Source Safe

解決済みのバグおよび FR

バグ/FR ID

説明

CPP-42547

CERT-C-MSC04 は、URL を構成する '//'に対して違反をレポートするべきではない

CPP-44289

すべてのテスト ケース ステップを展開/折り畳みするボタンの追加

CPP-44888

MISRA2004-5_1 の精度改善

CPP-44911

CERT_C-INT34-a (MISRA-038) が正しいシフト演算に対して違反を誤検出する

CPP-44935

CODSTA-125 (CERT_CPP-EXP57-b) が nullptr からの変換に対して違反を誤検出する

CPP-45230

非常に長いコマンド ラインを指定して cpptestcli から呼び出されたとき、cpptestcc1 がクラッシュする

CPP-45349

AUTOSAR-A7_1_3-a の誤検出

CPP-45372

MISRA2008-5_0_6_a の違反誤検出

CPP-45430

#ifndef が使用されていない場合、PREPROC-10 (MISRA2008-16_2_1_b) が #endif ディレクティブを検出しない

CPP-45452

デフォルト化できないコンストラクターに対して HICPP-12_5_2-a (AUTOSAR-A12_7_1-a) が違反を誤検出する

CPP-45500

オーバーロードされた関数 "ioctl" の複数のインスタンスに "C" リンケージがある

CPP-45501

カバレッジ: 無名の名前空間に定義された関数がカバレッジ ビューに複数回表示される可能性がある

CPP-45505

error: identifier "r9" is undefined static __no_init uint32_t __iar_SB @ r9;

CPP-45510

CODSTA-CPP-53 が struct 変数に対して違反をレポートする

CPP-45514

JSF-041 (METRICS-26) は parasoft-begin-suppress、parasoft-end-suppress コメントを無視するべき

CPP-45516

JSF-046 ルールの実装の改善

CPP-45748

GCC および Clang で括弧の省略が動作しない

CPP-45769

MISRA2004-8_7 (JSF-136_a) はヘッダーで定義された const 変数に対して違反をレポートするべきではない

CPP-45796

プロジェクト名に "@" が使用されている場合に MISRA-005 (JSF-009) が違反を検出する

CPP-45833

JSF-206 (MISRA2004-20_4) は 'new' および 'delete' 演算子メンバー関数を許容する

CPP-45834

自動生成スタブで明示的なコンストラクターが暗黙的に使用されている

CPP-45855

Error: pack "_UElements" does not have the same number of elements as "_Elements"

CPP-45859

Error: assertion failed at: "scope_stk.c", line 5053 in push_template_instantiation_scope

CPP-45866

MISRA2004-14_8 (MISRAC2012-RULE_15_6-a) が範囲ループに対して違反を誤検出する

CPP-45877

カンマ区切りプリプロセッサ定義値の誤った処理

CPP-45878

INIT-05 が範囲ベースの for ループに対して違反をレポートする

CPP-45880

GCC はシステム関数の例外仕様の不一致を許容する

CPP-45912

JSF-051 のマッピングを改善する

CPP-45917

CODSTA-61 (JSF-194, MISRA2008-6_4_6) による同じ値の複数の列挙子の処理方法を改善する

CPP-45965

オーバーロード可能な属性を持つインストゥルメント コードのコンパイル エラー

CPP-45975

PB-50 が scanf の %* を認識しない

CPP-45978

'switch' 文と本体の間にプリプロセッサ ディレクティブがある場合、MISRA2004-15_1 (MISRAC2012-RULE_16_2-a) ルールが違反を誤検出する

CPP-45979

ローカル オブジェクトのアドレスが非 static メンバーに代入されている場合、MISRA2004-17_6_b が違反を検出しない

CPP-45992

Solution Folder があるソリューションのテスト中に違反が発生する

CPP-46015

ビルトイン関数の EDG 互換性のない宣言: __builtin_operator_new および __builtin_operator_delete

CPP-46018

MISRAC2012-DIR_4_7-a (BD-PB-CHECKRET) ルールの違反をロードできない

CPP-46031

STL-37 (AUTOSAR-A18_1_1-a) は '_func_' マクロの使用に対して違反をレポートするべきではない

CPP-46137

CODSTA-13 (JSF-171) がポインター型の式の比較に対して違反をレポートしない

CPP-46138

PREPROC-06 がヘッダー ファイル "sensors/sensor.h" に対して違反をレポートする

CPP-46139

vector<uint16_t> のテストを生成すると、internal error: assertion failed at: "exprutil.c" が発生する

CPP-46142

CERT_C-FI034 のマッピングが誤っている

CPP-46159

libc++ で使用されている __builtin_launder の戻り値の型が C++17 と異なっている

CPP-46173

CODSTA-CPP-53 および JSF-117.1 の誤検出

CPP-46177

関数パラメーターの配列次元でキャストが使用されている場合、MISRA2004-14_2 (MISRAC2012-RULE_2_2-a) が違反を誤検出する

CPP-46186

MISRA2004-17_6_a の誤検出

CPP-46200

IAR: 長いリンカー コマンド ラインを処理できるようにする

CPP-46219

MISRA2008-5_0_1_f - 複数の volatile 型がある場合に、2 つの実装された関数のうち 1 つにバグの可能性

CPP-46266

ループ内で整数定数がキャストされている場合に CODSTA-83 が違反を誤検出する

CPP-46284

SECURITY-19 から CERT_C-POS35-a へのマッピングを削除する

CPP-46317

"boost::units::dimensionless_type" クラスにメンバー "item" がない

CPP-46328

エラー: 同じパラメーター型を持つ static および非 static メンバー関数はオーバーロードできない

CPP-46334

AUTOSAR A3-3-2 が非 static クラス メンバー変数に対して違反をレポートする

CPP-46404

HICPP-9_1_5-a (AUTOSAR-A10_3_3-a) が 'final' 宣言された仮想関数に対して違反をレポートする

CPP-46466

JSF-111 のマッピングを改善する

CPP-46520

MISRAC2012-RULE_14_2-* ルールの std::optional に対する違反の誤検出

CPP-46549

GCC の C++98/03 モードでの標準属性をサポートする

FA-7538

BD-PB-ARRAY が static 関数に違反をレポートする

FA-7588

解析が深さの制限に達した場合、BD-PB-CC が違反を誤検出する

FA-7814

BD-PB-CC の誤検出

FA-7855

多次元配列がstruct フィールドとして使用されている場合、BD-PB-ARRAY が違反を検出できない

FA-7884

BD-PB-NOTINIT - 初期化せずに CString.Format() が使用されている場合、違反を検出できない

FA-7907

BD-API-NEGPARAM は fseek の負数のオフセットに対して違反をレポートするべきではない

FA-7909

BD-PB-BADSHIFT が uint64_t 変数に対して違反をレポートする

FA-7913

ポインターに配列の変数のアドレスが代入されている場合、BD-PB-NP が違反を誤検出する

FA-7916

BD-PB-OVERFNZT が char 配列に対して違反を誤検出する

FA-7917

宛先バッファーがベクター要素へのポインターである場合、BD-PB-OVERFWR が違反を誤検出する

FA-7918

BD-PB-CC std::abs に対する違反誤検出

FA-7919

エイリアス ポインターを通じてバッファーの内容が割り当てられている場合、BD-PB-OVERFNZT が違反を誤検出する

FA-7933

BD-PB-OVERFNZT が strcpy() に対して違反を誤検出する

FA-7934

マクロが使用されている場合、BD-PB-ARRAY が違反を検出できない

FA-7938

誤った浮動小数点数値の推測による BD-PB-ARRAY の違反誤検出

FA-7939

テンプレート変数がラムダによってキャプチャされている場合、DependencyFinder.processCfe() で NullPointerException が発生する

FA-7991

MISRAC2012-RULE_9_1-a および MISRAC2012-DIR_4_1-a の違反誤検出 (iccarm で、潜在型が "char" 型の列挙型が誤って "signed char" として扱われる)

FA-7996

armclamg 6.9 で BD-PB-SUBSEQMOVE および BD-PB-SUBSEQFRWD の違反誤検出

FA-7997

QNX 5.x (32 ビット版) 使用時に BD-PB-ERRNO が違反を誤検出する

FA-8009

BD-PB-CC が read OS 呼び出しに対して違反をレポートする




新規ルール

ルール ID

ルールの説明

BD-PB-PTRSUB

同じ配列の要素を指していない 2 つのポインターを減算しない

CERT_C-ARR36-b

関連のない 2 つのポインターを比較してはならない

CERT_CPP-CTR54-c

同じ配列の要素を指していない 2 つのポインターを減算しない

CODSTA-13_b

ポインターの減算は、同じ配列の要素を指すポインターにだけ適用する

CODSTA-CPP-105

特別なメンバーの動作がコンパイラの動作と同じである場合は、=default と定義する

CODSTA-MCPP-51

結果がただちに const iterator に変換される場合、const コンテナーの呼び出しを使用する

CODSTA-MCPP-52

final クラスに仮想関数を導入しない

FORMAT-47_a

CV 修飾子は、修飾される型の右側に置く

FORMAT-47_b

CV 修飾子は、typedef または using 名である型の右側に置く

JSF-046_a

ユーザー定義の C++ 外部識別子は、 先頭から 64 文字目までに違いがあるべきである

JSF-046_b

ユーザー定義の C++ 内部識別子は、外部識別子と先頭から 64 文字目までに違いがあるべきである

JSF-046_c

同一スコープで宣言されたユーザー定義の C++ 内部識別子は、先頭から 64 文字目までに違いがあるべきである

JSF-051

関数および変数名はすべて小文字でなければならない

MISRA2004-5_1_a

ユーザー定義の C 外部識別子は、 先頭から 31 文字目までに違いがあるべきである

MISRA2004-5_1_b

ユーザー定義の C 内部識別子は、外部識別子と先頭から 31 文字目までに違いがあるべきである

MISRA2004-5_1_c

同一スコープで宣言されたユーザー定義の C 内部識別子は、先頭から 31 文字目までに違いがあるべきである

NAMING-54

視覚的に区別しやすい識別子を使用する

PORT-34_a

ユーザー定義の C++ 外部識別子は、 先頭から 64 文字目までに違いがあるべきである

PORT-34_b

ユーザー定義の C++ 内部識別子は、外部識別子と先頭から 64 文字目までに違いがあるべきである

PORT-34_c

同一スコープで宣言されたユーザー定義の C++ 内部識別子は、先頭から 64 文字目までに違いがあるべきである

PORT-35_a

ユーザー定義の C 外部識別子は、 先頭から 31 文字目までに違いがあるべきである

PORT-35_b

ユーザー定義の C 内部識別子は、外部識別子と先頭から 31 文字目までに違いがあるべきである

PORT-35_c

同一スコープで宣言されたユーザー定義の C 内部識別子は、先頭から 31 文字目までに違いがあるべきである

PORT-36_a

識別子の名前は 31 文字を超えるべきではない

PORT-36_b

マクロ識別子の名前は 31 文字を超えるべきではない

更新されたルール

カテゴリ ID

ルール ID

AUTOSAR C++14 Coding Guidelines

AUTOSAR-A0_1_1-a, AUTOSAR-A10_3_3-a, AUTOSAR-A12_7_1-a, AUTOSAR-A12_8_3-a, AUTOSAR-A15_0_2-a, AUTOSAR-A15_1_4-a, AUTOSAR-A15_4_5-a, AUTOSAR-A16_0_1-a, AUTOSAR-A18_1_1-a, AUTOSAR-A18_1_6-a, AUTOSAR-A18_5_2-a, AUTOSAR-A18_9_4-a, AUTOSAR-A20_8_5-a, AUTOSAR-A23_0_1-a, AUTOSAR-A27_0_2-a, AUTOSAR-A27_0_2-b, AUTOSAR-A2_3_1-a, AUTOSAR-A3_3_2-a, AUTOSAR-A3_8_1-b, AUTOSAR-A3_8_1-c, AUTOSAR-A5_0_2-a, AUTOSAR-A5_1_1-a, AUTOSAR-A5_2_5-a, AUTOSAR-A5_2_5-c, AUTOSAR-A5_3_2-a, AUTOSAR-A6_4_1-a, AUTOSAR-A6_5_3-a, AUTOSAR-A6_5_4-b, AUTOSAR-A6_6_1-a, AUTOSAR-A7_1_1-a, AUTOSAR-A7_1_3-a, AUTOSAR-A7_1_5-a, AUTOSAR-A7_1_7-a, AUTOSAR-A8_4_3-a, AUTOSAR-A8_4_3-b, AUTOSAR-A8_4_9-a, AUTOSAR-A8_5_0-a, AUTOSAR-M0_1_1-c, AUTOSAR-M0_1_1-f, AUTOSAR-M0_1_1-g, AUTOSAR-M0_1_2-a, AUTOSAR-M0_1_2-ac, AUTOSAR-M0_1_2-c, AUTOSAR-M0_1_2-n, AUTOSAR-M0_1_2-o, AUTOSAR-M0_1_2-p, AUTOSAR-M0_1_2-q, AUTOSAR-M0_1_2-s, AUTOSAR-M0_1_2-x, AUTOSAR-M0_1_2-y, AUTOSAR-M0_1_9-a, AUTOSAR-M0_3_1-a, AUTOSAR-M0_3_1-b, AUTOSAR-M0_3_1-c, AUTOSAR-M0_3_1-d, AUTOSAR-M0_3_1-f, AUTOSAR-M0_3_1-g, AUTOSAR-M0_3_1-i, AUTOSAR-M15_1_1-a, AUTOSAR-M15_1_2-a, AUTOSAR-M3_3_2-a, AUTOSAR-M3_4_1-b, AUTOSAR-M5_0_16-a, AUTOSAR-M5_0_16-b, AUTOSAR-M5_0_17-a, AUTOSAR-M5_0_18-a, AUTOSAR-M5_0_2-a, AUTOSAR-M5_0_6-a, AUTOSAR-M6_4_2-a, AUTOSAR-M6_4_3-a, AUTOSAR-M6_4_3-b, AUTOSAR-M6_4_3-c, AUTOSAR-M6_4_3-d, AUTOSAR-M6_4_3-e, AUTOSAR-M6_4_4-a, AUTOSAR-M6_4_5-a, AUTOSAR-M6_4_6-a, AUTOSAR-M6_4_7-a, AUTOSAR-M6_5_3-a, AUTOSAR-M6_5_4-a, AUTOSAR-M6_5_5-a, AUTOSAR-M6_5_6-a, AUTOSAR-M7_1_2-c, AUTOSAR-M7_5_1-a, AUTOSAR-M7_5_2-a, AUTOSAR-M8_5_2-a

フロー解析

BD-API-NEGPARAM, BD-API-STRSIZE, BD-PB-ARRAY, BD-PB-BADSHIFT, BD-PB-CC, BD-PB-ERRNO, BD-PB-NOTINIT, BD-PB-NP, BD-PB-OVERFNZT, BD-PB-OVERFRD, BD-PB-OVERFWR, BD-PB-PTRARR, BD-PB-PTRCMP, BD-PB-SUBSEQFRWD, BD-PB-SUBSEQMOVE, BD-PB-VOVR, BD-RES-LEAKS, BD-TRS-MLOCK, BD-TRS-ORDER

SEI CERT C

CERT_C-API01-a, CERT_C-ARR30-a, CERT_C-ARR36-a, CERT_C-ARR38-a, CERT_C-ARR38-b, CERT_C-ARR38-d, CERT_C-ARR39-a, CERT_C-CON30-a, CERT_C-CON41-a, CERT_C-CON43-a, CERT_C-DCL00-a, CERT_C-DCL02-a, CERT_C-DCL10-a, CERT_C-DCL11-a, CERT_C-DCL11-b, CERT_C-DCL11-c, CERT_C-DCL11-f, CERT_C-DCL22-a, CERT_C-DCL30-a, CERT_C-DCL30-b, CERT_C-DCL36-a, CERT_C-DCL41-a, CERT_C-ENV01-c, CERT_C-ERR30-a, CERT_C-ERR32-a, CERT_C-ERR33-c, CERT_C-EXP08-b, CERT_C-EXP33-a, CERT_C-EXP34-a, CERT_C-FIO22-a, CERT_C-FIO34-a, CERT_C-FIO37-a, CERT_C-FIO42-a, CERT_C-FIO47-a, CERT_C-FIO47-b, CERT_C-FIO47-c, CERT_C-FIO47-f, CERT_C-FLP30-a, CERT_C-FLP34-a, CERT_C-INT10-a, CERT_C-INT31-a, CERT_C-INT31-b, CERT_C-INT31-d, CERT_C-INT31-e, CERT_C-INT31-f, CERT_C-INT31-i, CERT_C-INT31-j, CERT_C-INT31-k, CERT_C-INT34-a, CERT_C-MEM00-e, CERT_C-MEM01-b, CERT_C-MEM01-c, CERT_C-MEM01-d, CERT_C-MEM12-a, CERT_C-MEM31-a, CERT_C-MSC01-a, CERT_C-MSC01-b, CERT_C-MSC04-b, CERT_C-MSC07-a, CERT_C-MSC07-d, CERT_C-MSC07-e, CERT_C-MSC09-a, CERT_C-MSC12-a, CERT_C-MSC12-d, CERT_C-MSC12-e, CERT_C-MSC17-a, CERT_C-MSC19-a, CERT_C-MSC19-b, CERT_C-POS30-a, CERT_C-POS51-a, CERT_C-POS54-c, CERT_C-STR03-a, CERT_C-STR31-a, CERT_C-STR31-b, CERT_C-STR32-a, CERT_C-WIN30-a

SEI CERT C++

CERT_CPP-CON53-a, CERT_CPP-CTR54-b, CERT_CPP-ERR56-a, CERT_CPP-ERR57-a, CERT_CPP-EXP53-a, CERT_CPP-EXP54-b, CERT_CPP-EXP54-c, CERT_CPP-EXP57-b, CERT_CPP-EXP63-a, CERT_CPP-FIO51-a, CERT_CPP-STR50-b, CERT_CPP-STR50-c, CERT_CPP-STR51-a

コーディング規約

CODSTA-04, CODSTA-08, CODSTA-119, CODSTA-125, CODSTA-13, CODSTA-149, CODSTA-161_a, CODSTA-161_b, CODSTA-161_d, CODSTA-161_e, CODSTA-161_f, CODSTA-163_b, CODSTA-164_a, CODSTA-164_b, CODSTA-165_a, CODSTA-165_b, CODSTA-168, CODSTA-169_b, CODSTA-169_c, CODSTA-18, CODSTA-194, CODSTA-23, CODSTA-26, CODSTA-32, CODSTA-33, CODSTA-35, CODSTA-41, CODSTA-53, CODSTA-54, CODSTA-56, CODSTA-61, CODSTA-64, CODSTA-79, CODSTA-81, CODSTA-82, CODSTA-83, CODSTA-85, CODSTA-98

C++ コーディング規約

CODSTA-CPP-15, CODSTA-CPP-43, CODSTA-CPP-53, CODSTA-CPP-64, CODSTA-CPP-71, CODSTA-CPP-72, CODSTA-CPP-73

Coding Conventions for Modern C++

CODSTA-MCPP-16_e, CODSTA-MCPP-27, CODSTA-MCPP-32, CODSTA-MCPP-40

コメント

COMMENT-11

Common Weakness Enumeration

CWE-119-a, CWE-119-d, CWE-119-e, CWE-125-a, CWE-125-c, CWE-362-e, CWE-476-a, CWE-704-c, CWE-772-a, CWE-787-a, CWE-787-d, CWE-835-a

例外

EXCEPT-11, EXCEPT-12, EXCEPT-22

Formatting

FORMAT-06

High Integrity C++

HICPP-16_1_1-b, HICPP-16_1_2-a, HICPP-17_3_3-a, HICPP-18_2_2-a, HICPP-18_3_2-a, HICPP-1_2_1-a, HICPP-1_2_1-d, HICPP-1_2_1-e, HICPP-1_2_1-i, HICPP-1_2_2-a, HICPP-3_4_1-a, HICPP-3_4_2-a, HICPP-3_5_1-c, HICPP-3_5_1-d, HICPP-4_2_2-f, HICPP-5_1_1-a, HICPP-5_2_1-a, HICPP-5_2_1-c, HICPP-6_1_2-a, HICPP-6_1_2-b, HICPP-6_1_3-a, HICPP-6_1_4-a, HICPP-6_1_4-b, HICPP-6_2_2-a, HICPP-6_2_3-a, HICPP-6_2_4-a, HICPP-6_3_1-a, HICPP-6_4_1-b, HICPP-7_1_2-a, HICPP-8_4_1-a, HICPP-8_4_2-a

初期化

INIT-03, INIT-05, INIT-16

Joint Strike Fighter

JSF-009, JSF-028, JSF-041, JSF-042, JSF-052, JSF-111, JSF-111_a, JSF-117, JSF-117.1, JSF-125_a, JSF-136_a, JSF-138_a, JSF-142_b, JSF-144, JSF-151, JSF-171, JSF-173, JSF-186_a, JSF-186_d, JSF-186_e, JSF-187, JSF-188, JSF-189, JSF-191, JSF-191_a, JSF-192, JSF-193, JSF-194, JSF-195, JSF-196, JSF-197, JSF-199, JSF-201, JSF-206

メトリクス

METRICS-02, METRICS-26

MISRA C 1998

MISRA-005, MISRA-024, MISRA-055, MISRA-058, MISRA-065

MISRA C 2004

MISRA2004-10_1_d, MISRA2004-12_1_a, MISRA2004-13_2, MISRA2004-13_4, MISRA2004-13_5, MISRA2004-13_6, MISRA2004-13_7_aa, MISRA2004-13_7_ab, MISRA2004-13_7_ac, MISRA2004-13_7_ad, MISRA2004-13_7_ae, MISRA2004-13_7_af, MISRA2004-13_7_ag, MISRA2004-13_7_ah, MISRA2004-13_7_z, MISRA2004-14_10, MISRA2004-14_1_a, MISRA2004-14_1_d, MISRA2004-14_1_e, MISRA2004-14_2, MISRA2004-14_4, MISRA2004-14_6, MISRA2004-15_0_a, MISRA2004-15_0_b, MISRA2004-15_1, MISRA2004-15_2, MISRA2004-15_2_b, MISRA2004-15_3, MISRA2004-15_4, MISRA2004-15_4_b, MISRA2004-15_5, MISRA2004-17_3, MISRA2004-17_6_a, MISRA2004-17_6_b, MISRA2004-20_4, MISRA2004-8_7, MISRA2004-9_2

MISRA C++ 2008

MISRA2008-0_1_1_a, MISRA2008-0_1_1_d, MISRA2008-0_1_1_e, MISRA2008-0_1_2_aa, MISRA2008-0_1_2_b, MISRA2008-0_1_2_c, MISRA2008-0_1_2_d, MISRA2008-0_1_2_e, MISRA2008-0_1_2_f , MISRA2008-0_1_2_g, MISRA2008-0_1_2_h, MISRA2008-0_1_2_i, MISRA2008-0_1_2_rz, MISRA2008-0_1_6, MISRA2008-0_1_9, 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_1_i, MISRA2008-0_3_1_j, MISRA2008-15_1_1, MISRA2008-15_1_2, MISRA2008-16_2_1_b, MISRA2008-18_4_1, MISRA2008-3_3_2, MISRA2008-3_4_1_b, MISRA2008-5_0_13, MISRA2008-5_0_16_a, MISRA2008-5_0_16_b, MISRA2008-5_0_17, MISRA2008-5_0_18, MISRA2008-5_0_2_a, MISRA2008-5_0_6_a, MISRA2008-6_4_2, MISRA2008-6_4_3_a, MISRA2008-6_4_3_b, MISRA2008-6_4_3_c, MISRA2008-6_4_3_d, MISRA2008-6_4_3_e, MISRA2008-6_4_4, MISRA2008-6_4_5, MISRA2008-6_4_6, MISRA2008-6_4_7, MISRA2008-6_4_8, MISRA2008-6_5_3, MISRA2008-6_5_4, MISRA2008-6_5_5, MISRA2008-6_5_6, MISRA2008-6_6_4, MISRA2008-7_1_1, MISRA2008-7_1_2_b, MISRA2008-7_5_1, MISRA2008-7_5_2_a, MISRA2008-7_5_2_b, MISRA2008-8_5_2

MISRA C 2012 (Legacy)

MISRA2012-DIR-4_12, MISRA2012-DIR-4_13_a, 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_1_i, MISRA2012-DIR-4_1_j, MISRA2012-RULE-10_1_a, MISRA2012-RULE-10_1_b, MISRA2012-RULE-10_1_d, MISRA2012-RULE-10_1_e, MISRA2012-RULE-10_1_f, MISRA2012-RULE-10_3_b, MISRA2012-RULE-10_4_a, MISRA2012-RULE-10_4_b, MISRA2012-RULE-10_5_a, MISRA2012-RULE-10_5_b, MISRA2012-RULE-11_2, MISRA2012-RULE-14_2_a, MISRA2012-RULE-14_2_c, MISRA2012-RULE-14_2_d, MISRA2012-RULE-14_3_q, MISRA2012-RULE-14_3_r, MISRA2012-RULE-14_3_s, MISRA2012-RULE-14_3_t, MISRA2012-RULE-14_3_u, MISRA2012-RULE-14_3_v, MISRA2012-RULE-14_3_w, MISRA2012-RULE-14_3_x, MISRA2012-RULE-14_3_y, MISRA2012-RULE-14_3_zc, MISRA2012-RULE-14_4, MISRA2012-RULE-15_1, MISRA2012-RULE-15_4, MISRA2012-RULE-15_7, MISRA2012-RULE-16_1_a, MISRA2012-RULE-16_1_b, MISRA2012-RULE-16_1_c, MISRA2012-RULE-16_1_d, MISRA2012-RULE-16_1_e, MISRA2012-RULE-16_1_f, MISRA2012-RULE-16_1_h, MISRA2012-RULE-16_2, MISRA2012-RULE-16_3_a, MISRA2012-RULE-16_3_b, MISRA2012-RULE-16_4_a, MISRA2012-RULE-16_4_b, MISRA2012-RULE-16_6, MISRA2012-RULE-16_7_a, MISRA2012-RULE-16_7_b, MISRA2012-RULE-18_1_a, MISRA2012-RULE-18_1_c, MISRA2012-RULE-18_2, MISRA2012-RULE-18_3, MISRA2012-RULE-18_6_a, MISRA2012-RULE-18_6_b, MISRA2012-RULE-1_3_b, MISRA2012-RULE-1_3_d, MISRA2012-RULE-1_3_e, MISRA2012-RULE-1_3_m, MISRA2012-RULE-1_3_n, MISRA2012-RULE-21_17_a, MISRA2012-RULE-21_17_b, MISRA2012-RULE-21_18, MISRA2012-RULE-21_3, MISRA2012-RULE-22_1, MISRA2012-RULE-22_10, MISRA2012-RULE-22_8, MISRA2012-RULE-22_9, MISRA2012-RULE-2_1_a, MISRA2012-RULE-2_1_d, MISRA2012-RULE-2_1_e, MISRA2012-RULE-2_2_a, MISRA2012-RULE-2_2_b, MISRA2012-RULE-3_1_b, MISRA2012-RULE-8_9, MISRA2012-RULE-9_1, MISRA2012-RULE-9_2

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_1-i, MISRAC2012-DIR_4_1-j, MISRAC2012-DIR_4_12-a, MISRAC2012-DIR_4_13-a, MISRAC2012-RULE_10_1-a, MISRAC2012-RULE_10_1-b, MISRAC2012-RULE_10_1-d, MISRAC2012-RULE_10_1-e, MISRAC2012-RULE_10_1-f, MISRAC2012-RULE_10_3-b, MISRAC2012-RULE_10_4-a, MISRAC2012-RULE_10_4-b, MISRAC2012-RULE_10_5-a, MISRAC2012-RULE_10_5-b, MISRAC2012-RULE_11_2-a, MISRAC2012-RULE_14_2-a, MISRAC2012-RULE_14_2-c, MISRAC2012-RULE_14_2-d, MISRAC2012-RULE_14_3-ac, MISRAC2012-RULE_14_3-q, MISRAC2012-RULE_14_3-r, MISRAC2012-RULE_14_3-s, MISRAC2012-RULE_14_3-t, MISRAC2012-RULE_14_3-u, MISRAC2012-RULE_14_3-v, MISRAC2012-RULE_14_3-w, MISRAC2012-RULE_14_3-x, MISRAC2012-RULE_14_3-y, MISRAC2012-RULE_14_4-a, MISRAC2012-RULE_15_1-a, MISRAC2012-RULE_15_4-a, MISRAC2012-RULE_15_7-a, MISRAC2012-RULE_16_1-a, MISRAC2012-RULE_16_1-b, MISRAC2012-RULE_16_1-c, MISRAC2012-RULE_16_1-d, MISRAC2012-RULE_16_1-e, MISRAC2012-RULE_16_1-f, MISRAC2012-RULE_16_1-h, MISRAC2012-RULE_16_2-a, MISRAC2012-RULE_16_3-a, MISRAC2012-RULE_16_3-b, MISRAC2012-RULE_16_4-a, MISRAC2012-RULE_16_4-b, MISRAC2012-RULE_16_6-a, MISRAC2012-RULE_16_7-a, MISRAC2012-RULE_16_7-b, MISRAC2012-RULE_18_1-a, MISRAC2012-RULE_18_1-c, MISRAC2012-RULE_18_2-a, MISRAC2012-RULE_18_3-a, MISRAC2012-RULE_18_6-a, MISRAC2012-RULE_18_6-b, MISRAC2012-RULE_1_3-b, MISRAC2012-RULE_1_3-d, MISRAC2012-RULE_1_3-e, MISRAC2012-RULE_1_3-m, MISRAC2012-RULE_1_3-n, MISRAC2012-RULE_21_17-a, MISRAC2012-RULE_21_17-b, MISRAC2012-RULE_21_18-a, MISRAC2012-RULE_21_3-a, MISRAC2012-RULE_22_1-a, MISRAC2012-RULE_22_10-a, MISRAC2012-RULE_22_8-a, MISRAC2012-RULE_22_9-a, MISRAC2012-RULE_2_1-a, MISRAC2012-RULE_2_1-d, MISRAC2012-RULE_2_1-e, MISRAC2012-RULE_2_2-a, MISRAC2012-RULE_2_2-b, MISRAC2012-RULE_3_1-b, MISRAC2012-RULE_8_9-a, MISRAC2012-RULE_9_1-a, MISRAC2012-RULE_9_2-a

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

MRM-09, MRM-10, MRM-11, MRM-51

名前付け規則

NAMING-04, NAMING-42, NAMING-44

最適化

OPT-14, OPT-20, OPT-21, OPT-22, OPT-39

OWASP Top 10 Most Critical Web Application Security Risks (2017)

OWASP2017-A6-c

バグの可能性

PB-13, PB-45, PB-46, PB-47, PB-50

移植性

PORT-10, PORT-25

プリプロセッサ

PREPROC-06, PREPROC-10

STL ベスト プラクティス

STL-04, STL-10, STL-12, STL-37

削除されたルール

結果の正確さを向上させるため、以下のルールは削除されました。

カテゴリ ID

ルール ID

SEI CERT C

CERT_C-POS35-a

Joint Strike Fighter

JSF-046, JSF-051_a, JSF-051_b, JSF-051_c, JSF-051_d, JSF-051_e

MISRA C 2004

MISRA2004-5_1



  • No labels