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® でのサードパーティ コードの処理
- ドキュメンテーションの作成