Accelerating the pace of engineering and science

Polyspace Bug Finder

主な機能

  • 実行時エラー、並列処理問題、セキュリティ脆弱性およびその他の欠陥の検出
  • 大規模なコードベースの高速分析 (欠陥は検出されると即座に強調表示される)
  • MISRA-C:2004、MISRA-C++:2008、MISRA C:2012、JSF++ およびカスタム命名規則の準拠性のチェック
  • 循環的複雑度およびその他コード メトリクス
  • Eclipse™ 統合
  • Simulink® モデルへのコード検証結果のトレーサビリティ
  • 誤検知の少ないバグ検出
Static analysis results displayed by Polyspace Bug Finder.
Polyspace Bug Finder によって表示された静的分析の結果

静的分析によるソフトウェアの欠陥とセキュリティ脆弱性の特定

Polyspace Bug Finder は、静的なコード解析ツールであり、コード コンポーネントまたは組み込みソフトウェア プロジェクト全体を分析するために使用されます。Polyspace Bug Finder は、C または C++ ソース コードの実行時エラー、並列処理問題、セキュリティ脆弱性およびその他の欠陥を低い誤検知率で特定するための形式的手法を含む高速静的コード解析手法を使用します。

Polyspace Bug Finder を使用して、バグをすばやく見つけて、トリアージし、修正することができます。欠陥が検出されると即座に強調表示されるため、ソース コード全体の分析が完了するまで待つ必要がありません。コードの記述、変更または生成が行われると即座に、Polyspace Bug Finder を繰り返し使用してバグを検出したり、開発プロセスの初期にコーディング ルールを適用したりできます。コマンド ラインから呼び出したり、スタンドアロンのユーザー インターフェイスを介して、Polyspace Bug Finder と Eclipse IDE を併用することができます。Polyspace Bug Finder をビルド環境に統合して、自動的に使用することができます。

Polyspace Bug Finderは、ソフトウェア開発ワークフローで次のような重要な作業をサポートします。

  • ソフトウェアの欠陥とセキュリティ脆弱性の検出
  • コーディング規約の適用
  • コードの複雑度メトリックの生成
  • 特定された欠陥のトリアージと修正

Polyspace Bug Finder を使用すると、プロジェクトをセットアップし、静的コード解析を実行することができます。次のような作業が可能です。

  • 組み込みターゲットおよびコンパイラによりプロジェクトを作成してセットアップする
  • ソース コードの欠陥を検出する
  • MISRA-C:2004、MISRA AC AGC、MISRA-C++:2008、MISRA C:2012、JSF++ (Joint Strike Fighter Air Vehicle C++) 規約またはカスタム命名規則への準拠のためにコードをチェックする
  • レポートを生成する、または静的コード解析およびコード準拠性の結果を可視化する
  • 特定された欠陥をトリアージおよび修正する方法を決定するために欠陥の原因をレビューする
  • Simulink ブロックまたは IBM® Rational® Rhapsody® モデルへコードの欠陥をトレースする
  • 静的解析の結果を Web ダッシュボードにアップロードしてソフトウェアの品質トレンドを監視する
Identify defects and check compliance to MISRA or JSF++.
欠陥を特定して MISRA または JSF++ への準拠をチェックするための Polyspace でのプロジェクト設定
p>Polyspace Bug Finder と Polyspace Code Prover™ を併用すると、ソース コードに特定の実行時エラーがないことを証明できます。これらの製品の組み合わせは、バグの検出からコード ルールのチェックや証明に至るまでの、開発の初期段階で使用できるエンドツーエンドの静的解析機能を提供します。この機能を使用して、コストを最適化して、テスト期間を短縮しながら、組み込みソフトウェアの信頼性を確保できます。

Parallel Computing Toolbox™MATLAB Distributed Computing Server™ を使用して、静的解析ジョブをコンピューター クラスターに送信することにより、静的コード解析を高速化できます。

初期段階でのバグ修正によるテスト サイクルの短縮化

Polyspace Bug Finder は、数値、静的メモリ、動的メモリ、並列処理およびセキュリティ脆弱性など、さまざまな欠陥を検出します。テスト ケースを記述する必要なしに、欠陥を特定できます。単一の分析でコードのほとんどの欠陥を特定できます。この機能は、その非決定的な特性のため検出が非常に難しい並列処理問題などの欠陥を特定する場合に特に重要です。

欠陥がソース コード内で強調表示されるほか、欠陥の原因とソースの特定に役立つトレースバック情報も表示されます。この機能により、テスト サイクルのデバッグおよび修正フェーズで欠陥を特定して解決するコストがさらに削減されます。

開発者や品質管理エンジニアは簡素なワークフローを使用して、欠陥を分類してトリアージすることができます。Polyspace Bug Finder は、検出されたそれぞれの欠陥の原因について詳細な情報を提供します。たとえば、整数オーバーフローが発生している場合、Polyspace Bug Finder は、オーバーフロー状態を引き起こしたコード内のすべての行番号をトレースします。ソフトウェア開発者はこの情報を使用して、コードを修正する最適な方法を決定することができます。品質管理エンジニアはこの情報を使用して、以降の対応のために欠陥を分類することができます。たとえば、品質管理エンジニアは、さらに調査が必要な欠陥にマークを付けたり、欠陥が優先順位の低い課題であることを示したりできます。

An overflow condition identified in Polyspace Bug Finder.

Polyspace Bug Finder で特定されたオーバーフロー状態

コーディング規約への準拠の検証 (MISRA、JSF、命名規則)

Polyspace Bug Finder は、MISRA-C:2004、MISRA-C++:2008、MISRA C:2012、MISRA AC AGC、JSF++ およびカスタム命名コーディング ルールの違反の検出をサポートします。Polyspace Bug Finder を使用して、コーディング ルールを適用し、コードの可読性と品質を向上させることができます。コーディング規約のすべてのルールまたはコーディング規約が要求するルールのみに焦点を合わせるように Polyspace Bug Finder を設定できます。適用するルールを個別に選択することもできます。また、独自の設定を定義して、チーム内で同じコーディング ルールが適用されるようにすることができます。

ルール違反をソース コード エディターまでトレースしてルール違反を修正したり、ドキュメンテーションまたはコードのコメントのためにコーディング ルール違反を正当化したりできます。Polyspace Bug Finder のインターフェイスにより、以前の解析との違いに注意を向けて、同じ違反を 2 回レビューすることを防止できます。長期にわたって結果を追跡するために、コーディング ルールの分析結果を Web ダッシュボードにエクスポートすることができます。

Polyspace 製品を使用した MISRA コード ルールへの準拠のチェック
MISRA C® ルールへの準拠のためにコードをチェックして、違反を特定して修正し、ドキュメンテーションのためにレポートを生成します。

Identifying a MISRA violation.
MISRA 違反の特定

コード メトリクスの生成とソフトウェア品質の監視

Polyspace Bug Finder は、プロジェクトレベル、ファイルレベルおよび関数レベルのメトリックを生成し、コードの複雑度を評価します。Polyspace Bug Finder は、Web ダッシュボードにエクスポートできる Hersteller Initiative Software (HIS) メトリックの生成をサポートします。次のようなコードの複雑度メトリックがあります。

  • 循環的複雑度
  • 関数結合
  • コメント密度
  • コール レベル
  • パス数
  • CWE マッピング

集中型品質モデルを定義して、欠陥、コードの複雑度およびコーディング ルール違反を追跡できます。これらのメトリックを使用して、コードを改善しながら、事前定義されたソフトウェア品質目標の達成までの進行状況を追跡できます。Polyspace Bug Finder は、コード品質の改善率を測定することにより、開発者、テスト担当者、プロジェクト マネージャーが目標とする高品質コードを完成できるようにします。

Software quality metrics displayed via web browser.

Web ブラウザーで表示されたソフトウェア品質メトリック

Simulink モデルへのコード分析結果のトレース

Polyspace Bug Finder を使用して、生成されたコード、または生成されたコードと手書きのコードが含まれる混在コードを分析することができます。自動的に生成されたコードのコードレベルの欠陥は、Simulink のモデルまで遡ってトレースすることができます。コードの信頼性が高い部分を特定してから、コード内のエラーの原因になっている設計問題を修正することができます。生成されたコードと手書きのコードの統合における潜在的な問題を特定することもできます。たとえば、手書きの低水準のコードと生成されたコードを結合すると、インターフェイスの不適切な信号範囲が実行時エラーを引き起こすという問題が発生する場合があります。データ フローおよび制御フローの詳細情報は、手書きのコードまたはモデルまで遡って欠陥を特定およびトレースすることに役立ちます。

また、Polyspace Bug Finder は、dSPACE® TargetLink® ブロックおよび IBM Rational Rhapsody モデルまで結果をトレースすることをサポートします。

Tracing MISRA violations to the Simulink model.
Simulink モデルへの MISRA 違反のトレース

認証アーティファクトの作成

業界標準に基づいたプロジェクトの認証プロセスで、Polyspace Bug Finder と Polyspace Code ProverIEC Certification Kit (ISO 26262 および IEC 61508 用) および DO Qualification Kit (DO-178B 用) と併用することができます。

レポートとアーティファクトにより、コードの最終的な品質が示され、レビュー済みのセクションが強調表示され、コード メトリクスが生成され、コーディング ルールの適用と実行時エラーのステータスが文書化されます。これらのレポートは、PDF、HTML、RTF などのさまざまな形式で作成できます。

DO Qualification Kit contents.

認証および検定キットが使用できます。

製品評価版の入手
または製品の購入

モデルとコードのテスト検証

Web セミナーを表示する