Parasoft C/C++test 2023.2 のリリース

Parasoft C/C++test 2023.2 がリリースされました。

Parasoft C/C++test 2023.2を2024年4月17日にリリースされました。

このたびのバージョンアップでは、Cコーディング標準のMISRA C:2023(2023/4発行)に「完全対応」しました。
MISRA C:2023はMISRA C:2012とAmendment 1~4およびTechnical Corrigendum 1, 2を統合したガイドラインとなります。コンプライアンスレポートの作成機能もAmendment 4で追加・更新されたルールに沿ってアップデートしています。
さらに、C++コーディング標準の新版となるMISRA C++:2023(2023/10発行)にも「完全対応」しました。各コーディング規約のチェックおよび、MISRA C同様、コンプライアンスレポートの作成が可能となります。

このリリースの主な変更点は以下のとおりです。

  • MISRA C:2023/ MISRA C++:2023に対応
  • VS Codeプラグイン機能の強化
  • 動的解析におけるC++言語向け機能改善
  • 静的解析ルールの追加/更新
  • サポート環境の追加

詳細は以下をご覧ください。


MISRA C:2023 / MISRA C++:2023に対応

Cコーディング標準のMISRA C:2023(2023/4発行)およびC++コーディング標準のMISRA C++:2023(2023/10発行)に対応しました。
C/C++testによるコーディング規約のチェック機能と、Parasoft DTPのコンプライアンスレポートの作成機能により、MISRA C:2023およびMISRA C++:2023への準拠をサポートします(コンプライアンス関連機能の使用には専用の有償オプションが必要です)。

MISRA C:2023

MISRAC:2023はMISRA C:2012にAmendment 1~4およびTechnical Corrigenda 1, 2を統合したガイドラインとなります。マルチスレッドとアトミック型への対応を反映したAmendment 4(2023/3発行)を包括しています。このガイドライン更新により、Amendment 3と比較して19のルールと3つのディレクティブが追加され、既存ルールの定義の明確化や改善も行われました。また、逸脱が認められないルールカテゴリであるMandatoryのルール数が19から24へと増加しています。

MISRA C++:2023

MISRA C++:2023はC++17をカバーするコーディング基準です。179のルールから構成されており、カテゴリの分類では、MISRA Cガイドラインの分類(例:Mandatory)を採用しています。 また、準拠の際にはMISRA C同様、MISRA Compliance 2020に従ったコンプライアンスレポートが必須となります。


VS Codeプラグイン機能の強化

C/C++testはかねてより、VS Codeへのプラグイン機能として、カバレッジの取得と静的解析をサポートしています。このたびのバージョンアップで、以下の機能が追加されました。

CI/CDパイプラインからのカバレッジのインポート

GitHubのワークフロー、GitLabまたはAzure DevOpsのパイプラインでC/C++testを実行する設定がされている場合、カバレッジをインポートしVS CodeのIDE上で確認することができます。

VS Codeのコード診断機能との連携

VS Codeのコード診断機能における違反レベルとC/C++testの違反レベル間でのマッピングが可能になりました。この機能を応用し、VS Codeのフィルター機能で違反レベルに応じた違反のフィルタリングが可能になりました。


動的解析におけるC++言語向け機能改善

以下のC++言語向けの機能が改善されました。

  • C++テンプレート関数のスタブ機能強化単体テストにおいてテンプレート関数から呼び出されるテンプレート関数のスタブ化が可能になりました(※1)。
  • constexpr関数のカバレッジ計測 constexpr関数を対象として単体テスト、アプリケーション検証実行時にカバレッジ取得が可能になりました(※2)。

(※1) GNU GCC、Clang C/C++、Visual C++の特定バージョンのみ(詳細はお問い合わせください)。
(※2) GNU GCC、Clang C/C++、Visual C++の特定バージョンのみ(詳細はお問い合わせください)。また、実行時に呼び出されるconstexpr関数のみが対象。


静的解析ルールの追加/更新

C/C++test 2022.2からC/C++test 2023.2にかけておよそ500の静的解析ルールが追加され、合計5,008のルールが搭載されました。また、AUTOSAR C++やCERT C++の精度向上のためルール追加や更新が行われました(コンプライアンス関連機能の使用には専用の有償オプションが必要です)。

  • フロー解析ルール追加
    マルチスレッド関連、整数オーバーフロー/ラップアラウンド関連のフロー解析ルールが追加されました。

  • AUTOSAR C++の精度向上
    AUTOSAR C++では精度向上を目的として12のルールが追加され、合計100以上のルールが更新されました。

  • CERT CおよびCERT C++の精度向上
    CERT CおよびCERT C++では精度向上を目的として12のルールが追加され、合計100以上のルールが更新されました。

サポート環境の追加

Visual Studioプラグイン版がVisual Studio 2022のIDEに対応しました。
これにより、普段開発で利用されているVisual Studio 2022のIDE上でC/C++testによるテストが可能になります。
また、サポートコンパイラとして、GNU GCC for x86-64/aarch64 12.xおよび13.x(※3)、GNU GCC for aarch32 8.x, 10.xおよび11.x(※4)、GNU GCC for aarch32/aarch64 9.x(※5)、Clang for x86-64/aarch32/aarch64 16.x(※3)、Clang for x86-64 15.x(※3)、Qualcomm Hexagon 8.6.xおよび8.7.x(※3)、IAR BX ARM 9.20.x(※6)、Tasking SmartCode for TriCore 10.1(※7)、 WindRiver Clang/ARM 9.0.x(※3)が追加されました。

(※3) Linuxのみ。
(※4) Linuxのみ。x86-64, aarch64は2022.2で対応済み。
(※5) Linuxのみ。x86-64は10.4.3で対応済み。
(※6) Linuxのみ。静的解析のみ。
(※7) Windowsのみ。


 

最後に

C/C++test をもっと知りたい・試してみたいという方のために、無償のセミナーと体験版をご用意しています。ぜひ、ご利用ください。

Parasoft C/C++testについて

静的解析・単体テストツール Parasoft C/C++test

C/C++testは、静的解析(コーディング規約チェック/フロー解析)、単体テスト、カバレッジ計測、実行時メモリエラー検出機能などを搭載したC言語/C++言語対応のオールインワンテストツールです。

Top