Polyspace Bug Finder により検出された欠陥の一覧のスクリーンショット。並行性および数値に関する欠陥が表示され、ソースコードの強調表示とゼロ除算に関する詳細な解析結果が示されています。

バグおよび脆弱性の検出

静的解析を使用して、セキュリティ、メモリ、数値、同時実行に関する欠陥を含む、350 種類以上の C/C++ の欠陥を検出します。組み込みのチェッカーは、独自のルールで拡張できます。デバッガーに似たビュー、イベントトレース、および呼び出しグラフを使用して、複雑なバグの根本原因を特定します。

コード解析時に準拠を確認するため、MISRA、CERT、AUTOSAR などのコーディング規約を選択する Polyspace Bug Finder のインターフェイスのスクリーンショット。

コーディング規約への準拠

MISRA C:2023、MISRA C++:2023、AUTOSAR C++14、CERT C/C++、CWE、および ISO/IEC TS 17961 への準拠をチェックします。チーム固有のルールを適用するために、カスタムのコーディング規約を作成することもできます。

Polyspace Bug Finder によるセキュリティ脆弱性の検出例のスクリーンショット。C/C++ コード内の欠陥箇所が強調表示され、修正に向けた詳細情報が示されています。

静的アプリケーション セキュリティ テスト

セキュリティ上の弱点を検出し、脆弱性に至る一連のイベントを特定します。CERT C/C++、CWE、ISO/IEC TS 17961 のチェックを通じて、セキュアコーディングのガイダンスへの準拠を確認します。

7 つの業界の安全およびセキュリティ標準がサポートされています。

認証サポート

IEC 61508、ISO 26262、ISO/SAE 21434、DO-178C などの業界の安全およびセキュリティ標準の認証プロセスを完了するために必要なアーティファクトを作成し、機能安全またはセキュリティを最も高いレベルまで向上させます。規格からの逸脱を正当化するとともに、包括的な解析レポートを生成します。

ソースから Simulink または Stateflow へのコードのトレース。

Simulink との統合

Embedded Coder または dSpace TargetLink® によって生成されたコードを解析し、検出結果を Simulink ブロックまたは Stateflow チャートに遡って追跡します。Simulink から解析を起動することで、設定作業の効率化とトレーサビリティを実現します。

Polyspace Bug Finder によるコードメトリクス表示のスクリーンショット。循環的複雑度やコメント密度など、プロジェクト、ファイル、関数ごとの詳細なメトリクスが示されています。

コードメトリクスの測定

循環的複雑度をはじめとする各種メトリクスを計算し、C/C++ コードの保守性とテスト容易性を向上させます。Polyspace チェッカーを使用して、コードメトリクスのしきい値を適用します。

Polyspace Bug Finder のスクリーンショット。プロジェクト概要メトリクス、欠陥数、コーディング規約への準拠状況に加え、MISRA C:2023 のルール違反の詳細や、ファイルおよび関数ごとの進捗状況が示されています。

プロジェクト品質の監視

欠陥、コーディングルール、コードメトリクスに関するカードやグラフを含むプロジェクトレベルのダッシュボードにより、プロジェクト品質を監視します。プロジェクトレベルから個々のファイルへとドリルダウンし、特定のコード解析結果に焦点を当てることができます。

実行時の動作を用いたコード解析

ビルドから Polyspace の構成を自動的に作成し、コンパイラ、ターゲット、RTOS の各オプションを設定します。さらに、割り込み、スレッド、タスクをモデル化することで、データ競合やデッドロックを含む同時実行の欠陥を検出します。

Polyspace Platform アプリのインターフェイスのスクリーンショット。コード解析およびテストのワークフローを管理するためのナビゲーションや、統合された各種ツールが表示されています。

静的解析と動的テストの統合

Polyspace Bug Finder および Polyspace Code Prover による静的解析と、Polyspace Test によるテストを、プロジェクト構成、実行、レビューを含めて単一のインターフェイスで管理できます。テストとコード解析のワークフローを組み合わせることで、信頼性の低いテストの特定、到達不能なコード分岐の正当化、複雑なコードカバレッジ要件への対応を可能にします。

「Polyspace を使用すると、すべてのコードをマージする前に重大なランタイムエラーを特定して修正することができ、ソフトウェアのセキュリティと品質を確保することができます。」