Polyspace Bug Finder

主な機能

  • C および C++ コード内のランタイム エラー、データ フローの問題、およびその他の欠陥の検出
  • 大規模なコードベースの高速解析
  • MISRA-C:2004、MISRA-C++:2008、MISRA C:2012、JSF++、およびカスタム命名規則の準拠性のチェック
  • 循環的複雑度およびその他のコード メトリクス
  • Eclipse™ 統合
  • Simulink® モデルへのコード検証結果のトレーサビリティ
  • Polyspace Code Prover™ の結果へのアクセス
  • 誤検出結果の少ないバグ検出
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の起動方法として、Eclipse IDEから起動することや、コマンドラインからの実行、専用ユーザーインターフェイスをサポートします。さらに、ビルド環境に統合することで自動化が可能になります。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++.
Polyspace にプロジェクトを設定し、欠陥を特定して MISRA または JSF++ との準拠性をチェック。

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 ダッシュボードにエクスポートして、結果を経時的に追跡することもできます。

Identifying a MISRA violation.
MISRA 違反の特定。

コード複雑度メトリクスの生成によるソフトウェア品質の監視

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

  • 循環的複雑度
  • コメント密度
  • コール レベル
  • パス数
  • 関数パラメーター数

一元管理の品質モデルを定義して、欠陥、コードの複雑度、コーディング ルール違反を追跡することができます。これらのメトリクスを使用すると、コードの作成を続けながら、事前定義されたソフトウェア品質目標に対する進捗状況を追跡することができます。Polyspace Bug Finder がコード品質の改善率を測定することで、開発者、テスター、プロジェクト管理者は高品質のコードを目指して、それを実現できるようになります。

Software quality metrics displayed via web browser.

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

コード解析結果を Simulink モデルまで追跡

Polyspace Bug Finder を使用すると、生成コード、または生成コードと手書きコードの両方を含んだ混合コードを解析することができます。自動生成コードにおけるコード レベルの欠陥の結果は、Simulink モデルにまで遡って追跡されます。モデルの信頼性の高い部分を特定し、コード エラーの原因となる設計上の問題を修正することができます。また、生成コードと手書きコードとのインターフェイスに発生する潜在的な問題を特定することもできます。たとえば、手書きの S-Function コードと生成コードを混在させると、インターフェイスにおける不正な範囲の信号がランタイム エラーを引き起こすという問題が発生する可能性があります。

Polyspace Bug Finder は、dSPACE TargetLink ブロックおよび IBM Rational Rhapsody モデルまで遡る結果の追跡もサポートします。

Tracing MISRA violations to the Simulink model.
MISRA 違反を Simulink モデルまで追跡。

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

Polyspace Bug Finder および Polyspace Code Prover を IEC Certification Kit (for IEC 61508 and ISO 26262) および DO Qualification Kit (for DO‑178B) とともに使用することで、これらの業界規格に準拠したプロジェクトの認定プロセスを実施できます。

レポートとアーティファクトには、コードの最終品質が示され、レビュー対象のセクションが強調表示され、コード メトリクスが生成され、コーディング ルールのアプリケーションとランタイム エラーのステータスが記載されます。これらのレポートは、PDF、HTML、RTF などの形式で作成できます。

DO Qualification Kit contents.

Certification Kit および Qualification Kit を利用可能。

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

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

Web セミナーを表示する