Polyspace Code Prover は、C および C++ ソースコードのオーバーフロー、ゼロ除算、範囲外の配列アクセス、およびその他特定のランタイムエラーが存在しないことを証明します。プログラムの実行、コードのインストルメンテーション、テストケースの作成を必要とせずに、結果を生成します。Polyspace Code Prover は、形式的手法に基づく静的解析と抽象解釈を使用します。これは、手書きコード、生成されたコード、またはその両方の組み合わせに使用できます。各演算は、ランタイムエラーが存在しない、エラーが証明されている、到達不能である、または未証明であることを示すよう色分けされています。
また、Polyspace Code Prover では、変数および関数の戻り値の範囲情報を表示し、どの変数が指定された範囲制限を超えているかを証明できます。結果をダッシュボードに公開して、品質メトリクスを追跡し、ソフトウェア品質目標との適合性を確保できます。
業界標準のサポートは、IEC Certification Kit (for IEC 61508 and ISO 26262) および DO Qualification Kit (for DO-178) により対応しています。
重大なランタイムエラーが存在しないことを証明
コードを実行せずに、可能性のあるすべての入力に対してすべてのコードパスを解析します。ランタイム条件にかかわらず、ランタイムエラーが決して発生しないステートメントを特定し、それ以外の注意が必要なステートメントを検出します。
ソフトウェアのパフォーマンスの最適化
ゼロ除算やオーバーフローなどについて安全かつセキュアな演算を特定することで、防衛的コードを削除します。あらゆる実行パスを介しても到達できないコード分岐を検出します。ロジックやプログラム構造のエラーを検出し、それらを削除することで、メモリフットプリントを縮小します。
グローバル変数の使用の解析
タスクやスレッドで共有される変数など、グローバル変数の読み取り/書き込み操作のデバッグに費やす時間を短縮します。
同時アクセスグラフを使用して、データレースの問題につながる制御フローおよびデータフローを理解します。コードを最適化するために、使用していないグローバル変数を特定します。
認証サポート
業界標準の認証プロセスを完了するために必要なアーティファクトを作成します。IEC 61508 および ISO 26262 規格に準拠した使用のための、TÜV SÜD 認証を取得しています。DO-178C プロセスには、レポートとアーティファクトを使用します。
Simulink および Stateflow との統合
生成されたコードに対して解析を実行し、得られた調査結果をソースの Simulink モデルブロックおよび Stateflow チャートにトレースできます。Simulink 環境から Polyspace® 解析を起動します。
デスクトップでの対話形式の解析
ソフトウェア プロジェクト全体またはサブセットに対して静的コード解析を実行します。デスクトップツールを使用してレポートを作成し、結果を確認して問題を重大度により順位付けします。
デバッガーに似たビューを使用して、ランタイムエラーにつながる各ステートメント内をステップバイステップで移動し、複雑なバグの根本原因を見つけます。60 以上の C および C++ コンパイラのネイティブサポートと、プロジェクトのビルドシステムから抽出された Polyspace 解析の自動セットアップを使用して、プロジェクトを整理し構成できます。
静的アプリケーション セキュリティ テスト
バッファー オーバーフロー、メモリアクセス、数値オーバーフローなどの重大なセキュリティの脆弱性が存在しないことを証明します。コードを実行せずに、すべてのコードパスと入力でコードを解析することにより、ファズテストの必要性を削減します。
影響分析
指定されたグローバル変数やローカル変数が他の変数や特定のステートメントに与える影響を形式的に追跡し、検証します。OBD 関連ソフトウェアに関する CARB からの要件を満たすための信号解析、ISO 26262 のコンテキストで干渉がないことの証明、およびキャリブレーション パラメーターの影響分析を行います。ソフトウェア セキュリティのコンテキストでは、汚染解析を実行し、機密データフローを追跡します。
製品リソース:
Polyspace 製品ファミリ
Polyspace 製品は、 開発ライフサイクル全体でソフトウェア品質をテストおよび監視することにより、重要なコードを安全かつセキュアにします。
Polyspace Access
コーディングの欠陥の特定、静的解析結果のレビュー、ソフトウェア品質メトリクスの監視
Polyspace Code Prover Server
ソフトウェアにランタイムエラーが存在しないことを証明
Polyspace Bug Finder
静的解析を使用したソフトウェアのバグの特定
Polyspace Test
組み込みシステムにおける C および C++ コードのテストを開発、管理、実行
Polyspace Bug Finder Server
サーバー コンピューターで実行する静的解析によりソフトウェアの欠陥を特定
Polyspace Client for Ada
ソースコードにランタイムエラーが存在しないことを証明
Polyspace Code Prover
ソフトウェアにランタイムエラーが存在しないことを証明
Polyspace Server for Ada
コンピューター クラスターでコード検証を実行し、メトリクスを公開