C/C++test2023.2の新機能・改善点

C/C++test体験版申し込み

MISRA C:2023およびMISRA C++:2023のガイドラインとコンプライアンスレポートに対応

このたびのバージョンアップでは、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同様、コンプライアンスレポートの作成が可能となります。
最新ルールは無償体験版でもお試しいただけます。>>体験版ダウンロードはこちら

詳細につきましては、以下をご確認ください。


【C++test 2023.2の新機能・改善点】 【Parasoft DTP 2023.2 の新機能・改善点】

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に従ったコンプライアンスレポートが必須となります。
  •  


図1. Parasoft DTPにおけるMISRA C++:2023ダッシュボード
 

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


C/C++testはかねてより、VS Codeへのプラグイン機能として、カバレッジの取得と静的解析をサポートしています。このたびのバージョンアップで、以下の機能が追加されました。
  • CI/CDパイプラインからのカバレッジのインポート
    GitHubのワークフロー、GitLabまたはAzure DevOpsのパイプラインでC/C++testを実行する設定がされている場合、カバレッジをインポートしVS CodeのIDE上で確認することができます。
  •  

    図2. VS Code上でのカバレッジ取得結果の表示

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

    図3. 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のみ。

Parasoft DTP 2023.2 の新機能・改善点

CSVレポート作成機能


違反エクスプローラーでフィルタリングされた違反をCSV形式で出力する機能が追加されました。Parasoft DTP上で管理する解析結果を外部にエクスポートする機能の一つとして活用できます。

サポート環境の追加


PostgreSQLデータベースの対応バージョンにPostgreSQL 15が追加されました。

バージョンアップサービス

お問い合わせ先までご連絡下さい。
 
 

 


静的解析ツール・単体テストツール C/C++testに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
parasoft-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。