このリリースには以下の拡張が含まれます。 リリース日: 2021年11月15日 Azure DevOps および GitLab との統合CI システムを使用するワークフローの合理化に役立つ拡張が行われました。C/C++test からレポートされた結果を直接 Azure Pipelines または GitLab で簡単に確認できます。 Azure DevOps との統合C/C++test extension for Azure DevOps が追加され、C/C++test を簡単に Azure DevOps パイプラインに統合できるようになりました。C/C++test extension は、C/C++test の解析を実行し、 Azure DevOps 固有の SARIF フォーマットで C/C++test レポートを生成するタスクを提供します。パイプラインを実行するたびに、解析の結果がビルド結果に表示されます。詳細については https://marketplace.visualstudio.com/items?itemName=parasoft.cpptest-azure-devops を参照してください。 GitLab との統合C/C++test の解析を実行して SAST フォーマットで解析レポートを生成するよう GitLab ワークフローを変更することで、GitLab と C/C++test を統合できるようになりました。C/C++test からレポートされた結果をコードの脆弱性として GitLab で参照できます。詳細については https://gitlab.com/parasoft/cpptest-gitlab を参照してください。 C/C++test Extension for Visual Studio Code の拡張C/C++test Extension for Visual Studio Code の機能が拡張されました。Azure DevOps リポジトリから解析結果をインポートできるようになりました。C/C++test extension for Visual Studio Code の詳細については Visual Studio Code Marketplace を参照してください。 コード カバレッジ ワークフローの合理化C/C++test でカバレッジ情報を収集する際に起こる問題をトラブルシューティングするのに役立つ新しいオプションが追加されました。以下が可能です。
詳細は「コード カバレッジのトラブルシューティング」を参照してください。 サポート対象コンパイラ新たに以下のコンパイラがサポートされました。
以下のコンパイラのサポート レベルが変更されました。
詳細は「サポート対象コンパイラ」を参照してください。 IDE のサポートEclipse バージョン 2020-06 (4.16) - 2021-06 (4.20) のサポートが追加されました。 追加または更新された解析ルール新規静的解析ルールが追加され、コンプライアンス標準のカバー範囲が拡張されました。追加および更新されたルールの一覧は「New Rules」、「Updated Rules」を参照してください。 追加または更新されたテスト コンフィギュレーション以下のテスト コンフィギュレーションが追加されました。
Parasoft エンド ユーザーライセンス契約書への同意C/C++test を利用するには、Parasoft エンド ユーザーライセンス契約書 (EULA) への同意が必要です。Parasoft EULA は C/C++test のインストール ディレクトリおよび https://www.techmatrix.co.jp/quality/support/parasoft/license/ にあります。 EULA に同意するには、cpptestcli.properties 設定ファイルで次の設定を有効にします。 IDE に Parasoft Plugin をインストールする場合、インストール ウィザードによって EULA への同意が求められ、cpptestcli.properties ファイルに自動的に EULA への同意設定が追加されます。 Parasoft Plugin for Visual Studio をサイレント (非インタラクティブ) モードでインストールする場合、次のコマンドを使用して EULA への同意のうえインストーラーを実行する必要があります。/acceptEula=yes 非推奨の環境およびサポート対象から削除された環境Visual Studio 2012 および 2013 のサポートが非推奨になり、次のリリースで削除される予定です。 サポート対象から削除された IDE次の IDE のサポートは廃止されました。
解決済みのバグおよび FR
|
ルール ID | ヘッダー |
---|---|
AUTOSAR-A13_5_5-b | 比較演算子は同じパラメーター型と noexcept を持つ非メンバー関数でなければならない |
CERT_CPP-DCL53-c | 文法的に曖昧な関数宣言を避ける |
CERT_CPP-ERR56-b | catch ブロックを空のままにしない |
CODSTA-CPP-107 | 比較演算子は非メンバー関数でなければならない |
CODSTA-CPP-107_b | 比較演算子は同じパラメーター型と noexcept を持つ非メンバー関数でなければならない |
FORMAT-48 | 関数宣言中のパラメーター名は括弧で囲むべきではない |
FORMAT-49 | 変数宣言中のローカル変数名は括弧で囲むべきではない |
OWASP2021-A1-a | ファイル名インジェクションから防御する |
OWASP2021-A1-b | 権限を正しい順序で破棄する |
OWASP2021-A1-c | 権限が正常に破棄されたことを確認する |
OWASP2021-A2-a | 疑似乱数生成器に適切なシードを指定する |
OWASP2021-A3-a | 未検証のバイナリ データをログ記録メソッドに渡さない |
OWASP2021-A3-b | コマンド インジェクションから防御する |
OWASP2021-A3-c | 汚染されたデータを出力コンソールに出力してはならない |
OWASP2021-A3-d | 環境変数インジェクションから防御する |
OWASP2021-A3-e | フォーマット文字列からサニタイズされていないユーザー入力を除外する |
OWASP2021-A3-f | SQL インジェクションから防御する |
OWASP2021-A4-a | ログ ファイルに書き込む関数に機密データを渡さない |
OWASP2021-A5-a | 1 つの try-catch 文または関数監視ブロックに派生クラスおよびそのすべてまたは一部の基底クラスのハンドラがある場合、最後に派生されたクラスから基底クラスへの順でハンドラを記述する |
OWASP2021-A5-b | catch ブロックを空のままにしない |
OWASP2021-A5-c | errno 値を適切に使用する |
OWASP2021-A5-d | libxerces-c で XML 外部エンティティの解決 (XXE) を無効化する |
OWASP2021-A7-a | 弱い暗号化関数を使用してはならない |
OWASP2021-A8-a | LoadLibrary() が正しいライブラリをロードするよう注意する |
OWASP2021-A9-a | すべての例外は、再スローされるか標準ロガーでログに記録されるべきである |
PB-78 | プログラマー定義の整数型での書式付き IO には intmax_t または uintmax_t を使用する |
PB-79 | 文法的に曖昧な関数宣言を避ける |
カテゴリ ID | ルール ID |
---|---|
AUTOSAR C++14 Coding Guidelines | AUTOSAR-A0_1_1-a, AUTOSAR-A10_3_2-a, AUTOSAR-A12_1_1-b, AUTOSAR-A12_1_3-a, AUTOSAR-A13_5_5-a, AUTOSAR-A15_4_4-a, AUTOSAR-A20_8_2-a, AUTOSAR-A20_8_3-a, AUTOSAR-A20_8_4-a, AUTOSAR-A27_0_2-a, AUTOSAR-A2_5_2-a, AUTOSAR-A3_8_1-a, AUTOSAR-A5_1_1-a, AUTOSAR-A5_3_2-a, AUTOSAR-A7_1_2-b, AUTOSAR-M0_1_10-a, AUTOSAR-M0_1_4-a, AUTOSAR-M0_3_1-f, AUTOSAR-M0_3_1-g, AUTOSAR-M3_3_2-a |
フロー解析 | BD-PB-BYTEORD, BD-PB-NP, BD-PB-OVERFNZT, BD-PB-UCMETH, BD-PB-VALPARAM, BD-PB-VOVR, BD-RES-FREE, BD-SECURITY-LOG |
SEI CERT C | CERT_C-ARR38-d, CERT_C-CON31-b, CERT_C-DCL10-a, CERT_C-DCL11-a, CERT_C-DCL11-b, CERT_C-DCL11-c, CERT_C-DCL11-d, CERT_C-DCL11-e, CERT_C-DCL11-f, CERT_C-DCL22-a, CERT_C-ERR33-c, CERT_C-EXP34-a, CERT_C-FIO46-a, CERT_C-FIO47-a, CERT_C-FIO47-b, CERT_C-FIO47-c, CERT_C-FIO47-d, CERT_C-FIO47-e, CERT_C-FIO47-f, CERT_C-INT15-a, CERT_C-MEM00-d, CERT_C-MEM01-a, CERT_C-MEM04-a, CERT_C-MEM07-a, CERT_C-MEM30-a, CERT_C-MSC19-b, CERT_C-POS30-a, CERT_C-POS39-a, CERT_C-POS54-c, CERT_C-STR03-a, CERT_C-STR32-a |
SEI CERT C++ | CERT_CPP-DCL53-a, CERT_CPP-DCL53-b, CERT_CPP-ERR56-a, CERT_CPP-EXP54-a, CERT_CPP-MEM50-a, CERT_CPP-STR50-b, CERT_CPP-STR51-a |
コーディング規約 | CODSTA-26, CODSTA-48, CODSTA-81 |
Modern C++ コーディング規約 | CODSTA-MCPP-05, CODSTA-MCPP-09, CODSTA-MCPP-11_b_cpp11, CODSTA-MCPP-29, CODSTA-MCPP-30 |
Common Weakness Enumeration | CWE-20-c, CWE-415-a, CWE-416-a, CWE-476-a |
グローバル静的解析 | GLOBAL-ONEUSEVAR, GLOBAL-UNUSEDFUNC |
High Integrity C++ | HICPP-10_2_1-a, HICPP-12_4_2-a, HICPP-1_2_1-h, HICPP-2_2_1-a, HICPP-5_1_1-a, HICPP-5_2_1-c, HICPP-8_4_1-b |
初期化 | INIT-06, INIT-17 |
Joint Strike Fighter | JSF-012, JSF-051, JSF-071_b, JSF-138_b, JSF-143, JSF-151 |
メトリクス | METRICS-36 |
MISRA C 2004 | MISRA2004-20_3, MISRA2004-8_11 |
MISRA C++ 2008 | MISRA2008-0_1_10_b, MISRA2008-0_1_4, MISRA2008-0_1_6, MISRA2008-0_3_1_b, MISRA2008-0_3_1_e, MISRA2008-2_5_1, MISRA2008-3_3_2 |
MISRA C 2012 (Legacy) | MISRA2012-DIR-4_13_b, MISRA2012-DIR-4_1_b, MISRA2012-DIR-4_1_e, MISRA2012-RULE-1_3_c, MISRA2012-RULE-21_17_a, MISRA2012-RULE-22_2_a, MISRA2012-RULE-22_6, MISRA2012-RULE-2_2_b, MISRA2012-RULE-8_8, MISRA2012-RULE-9_4 |
MISRA C 2012 | MISRAC2012-DIR_4_1-b, MISRAC2012-DIR_4_1-e, MISRAC2012-DIR_4_13-b, MISRAC2012-RULE_1_3-c, MISRAC2012-RULE_21_17-a, MISRAC2012-RULE_22_2-a, MISRAC2012-RULE_22_6-a, MISRAC2012-RULE_2_2-b, MISRAC2012-RULE_8_8-a , MISRAC2012-RULE_9_4-a |
名前付け規則 | NAMING-44 |
最適化 | OPT-26 |
OWASP Top 10 Most Critical Web Application Security Risks (2017) | OWASP2017-A1-a, OWASP2019-API3-e |
バグの可能性 | PB-45, PB-46, PB-47, PB-48, PB-49, PB-50, PB-62, PB-69 |
このリリースについての情報は、https://docs.parasoft.com/display/CPPTESTJP20212/Updates+in+2021.2 を参照してください。 |