Polyspace による C/C++ コードの検証
スケジュールを確認して登録するコースの詳細
この2日間のコースは、コードの正しさの検証、ソフトウェア品質基準の改善、製品品質の管理のために、Polyspace®Code Prover™ の使い方を学びます。このコースは、組み込みシステム向けのソフトウェア、モデルを設計開発するエンジニアを対象としています。
- 検証プロジェクトの作成
- 検証結果のレビューと理解
- ターゲットの実行環境のエミュレート
- 不足している関数およびデータの取り扱い
- 証明されていないコードの管理 (Polyspace 製品ではオレンジ色で表示)
- MISRA-C®ルールの適用
- 解析結果のレポート生成
1日目
Polyspace®のワークフローの概要
目的:簡単な例題を用いて、 Bug Finder と Code Prover の使用方法を体験します。
- コード検証ワークフロー
- Bug Finder 解析の実行
- Code Prover 検証の実行
- ソフトウェアの問題の解析と修正
Polyspace®Bug Finder™ 解析
目的:ANSI Cに準拠していないコードの対応方法と、 Bug Finder によって、欠陥の発見と修正、コーディングルールに逸脱していないかを解析します。
- Polyspace®プロジェクトの作成
- 一般的なランタイム環境のアーティファクト
- プロセッサ固有のコードの処理
- ターゲット ハードウェア情報の設定
- Polyspace®Bug Finder™ での欠陥の解析
- MISRA C®ルール違反の解析
- テンプレート プロジェクト
Polyspace®Code Prover™ 検証結果の解析
目的:Polyspace Code Prover の検証結果の解釈方法を習得します。
- 抽象解釈の概要
- 呼び出しツリーの解析
- ソース コード内の移動
- Polyspace®Code Prover™ 検証結果の解釈
- ソースコードでのグローバル変数の使用法の表示
コード検証チェック
目的:Polyspace Code Prover を使用して、実行時エラーのチェックを行います。
- C ソース コード チェックの概要
- Polyspace®Code Prover™ 実行時エラーのチェック
- 関連する検証オプション
2日目
Polyspace®Code Prover™ 検証と結果の管理
目的:多くの未証明チェックを含む検証結果の対応方法を習得します。
- Code Prover 検証ワークフロー
- プログラム実行順序の制御
- オレンジの実行時エラー チェックの優先順位の設定
Polyspace®Code Prover™ 検証への精度の追加
目的:一部が欠落しているコードを Polyspace Code Prover がどのように解析するかを習得し、十分な解析のために、検証結果にどのような影響を与えるかを学びます。
- ロバスト性検証とコンテキスト依存検証
- 自動スタブ
- データ範囲指定
- 手動スタブ
統合解析
目的:コードの複雑度が大きい場合の検証方法を習得します。
- コンテキスト依存検証
- 新しいモジュールの作成
- 統合欠陥と実行時エラーの検出
ソフトウェア品質の測定とレポート
目的:Polyspace Metricsを使用して、検証結果の収集と共有を行い、検証結果レポートを生成します。
- 検証結果の共有
- Polyspace®Metrics インターフェイスの解釈
- ソフトウェア品質目標
- データのアップロードとダウンロード
- ドキュメンテーションの作成