IPA過去問ドリル

令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問22

テクノロジ/開発技術

プログラム実行中の特定の時点で成立していなければならない変数間の関係や条件を記述した論理式を埋め込んで,その論理式が成立していることを確認することによって,プログラムの処理の正当性を動的に検証する手法はどれか。

出典:令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問22

正解:ア

解説

アサーションチェックは,プログラムの特定の時点で成立していなければならない変数間の関係や条件(不変条件,事前条件,事後条件など)を論理式としてソースコード中に埋め込み,プログラムの実行時にその論理式が実際に成立しているかどうかを検証することによって,処理の正当性を動的にチェックする手法です。

選択肢ごとの解説

  • 正しい。プログラム実行中の特定時点で成立すべき条件を論理式として埋め込み,実行時にその成立を確認することで正当性を検証する手法がアサーションチェックです。
  • 誤り。コード追跡(トレース)は,プログラムの実行経路や変数の値の変化を記録・確認する手法であり,論理式の埋込みによる正当性の動的検証とは異なります。
  • 誤り。スナップショットダンプは,ある時点でのメモリやレジスタの内容を記録する手法であり,論理式による条件の成立を動的に検証するものではありません。
  • 誤り。テストカバレッジ分析は,テストによってプログラムのコードがどれだけ網羅的に実行されたかを測定する手法であり,論理式による正当性の検証とは異なります。
エンベデッドシステムスペシャリストの過去問を演習モードで解く