Polyspace Client for Ada

重大なランタイムエラーが存在しないことを証明

Ada83 または Ada95 コードの演算について、ランタイムの正確性をチェックします。ランタイム条件にかかわらず、ランタイムエラーが決して発生しないステートメントを特定します。ランタイムの脆弱性を解析し、得られた所見に関連するイベントトレース、変数値の範囲、呼び出しツリーをサポートします。Polyspace Client for Ada は、他のテスト手段では検出できないエラーを、形式的手法で検出します。コードを実行せずに、可能性のあるすべての入力に対してすべてのコードパスを解析します。

デスクトップでの対話形式の解析

プロジェクトを整理して構成し、ソフトウェア プロジェクトのサブセットに静的コード解析を実行して、ソース コード リポジトリに送信する前にコードを修正します。Polyspace Client for Ada を使用してレポートを生成し、結果を確認して問題を重大度により順位付けします。デバッガーに似たビューを使用して、ランタイムエラーにつながる各ステートメント内をステップバイステップで移動し、複雑なバグの根本原因を見つけます。

ソフトウェア設計とコードの理解度の向上

ソフトウェア内の制御フローおよびデータフローを検証し、変数や演算子に関連する範囲情報を確認します。

ソフトウェアのパフォーマンスの最適化

ゼロ除算などについて安全かつセキュアな演算を特定することで、防衛的コードを削除します。メモリフットプリントを縮小するために、あらゆる実行パスを介しても到達できないコード分岐と、ロジックおよびプログラム構造のエラーを検出し、それらを削除します。

グローバル変数の使用の解析

タスクやスレッドで共有される変数など、グローバル変数の読み取り/書き込み操作のデバッグに費やす時間を短縮します。同時アクセスグラフを使用して、データレースにつながる制御フローとデータフローを理解します。コードを最適化するために、使用していないグローバル変数を特定します。

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

メモリアクセス、バッファ オーバーフロー、数値オーバーフローなどの潜在的な脆弱性をもつ Ada ステートメントを徹底的に強調することで、アプリケーションに重大なセキュリティ脆弱性がないことを証明します。20 種類の CWE 脆弱性ルールをサポートします。Polyspace Client for Ada からの解析結果を活用し、ファズテストを補完または置き換えて、代わりに脆弱性が特定された演算に焦点を当てます。

ロバスト性テストおよび機能テストの改善および補完

Polyspace Client for Ada を使用して、ゼロ除算やオーバーフローなどが検出され、安全でないことが証明されたステートメントのテストに焦点を当てることにより、ロバスト性テストを改善します。Polyspace Client for Ada の結果を使用して、制御フローおよびデータフロー解析、関数パラメーターとグローバル変数の計算範囲を活用し、境界テストと分割テストを作成および管理します。