平成22年度秋期 応用情報技術者試験 午前 問44
プログラム実行中の特定の時点で成立する変数間の関係や条件を記述した論理式を埋め込んで,そのプログラムの正当性を検証する手法はどれか。
- ア アサーションチェック
- イ コード追跡
- ウ スナップショットダンプ
- エ テストカバレッジ分析
解答・解説を見る
正解:ア
AI解説
アサーションチェックは、プログラムの特定時点で成立すべき変数間の関係や条件(不変条件・事前条件・事後条件など)を論理式として記述・埋め込み、実行時にその式が真であるかを検証することでプログラムの正当性を確認する手法である。 ア: 正しい。アサーションチェックは、プログラム中の特定時点で成立すべき条件を論理式(アサーション)として記述し、実行時にその条件を検証することでプログラムの正当性を確認する手法である。 イ: コード追跡(コードインスペクション/トレース)は、プログラムの実行経路や処理内容を人手または机上で追跡・確認する手法であり、論理式を埋め込んで自動検証する手法ではない。 ウ: スナップショットダンプは、プログラム実行中の指定時点でメモリやレジスタの内容を出力・記録する手法であり、論理式による正当性検証とは異なる。 エ: テストカバレッジ分析は、テストによってプログラムのどの部分(命令・分岐・条件など)が実行されたかの網羅率を測定する手法であり、論理式を埋め込んで検証する手法ではない。 💡 アサーション=「ここで成り立つべき条件」をコードに書き込んでおき、実行時に自動チェックする仕組み。形式手法(契約プログラミング)の考え方ともつながるキーワードなので押さえておく。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。