令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午前II 問22
プログラム実行中の特定の時点で成立していなければならない変数間の関係や条件を記述した論理式を埋め込んで,その論理式が成立していることを確認することによって,プログラムの処理の正当性を動的に検証する手法はどれか。
解答・解説
正解: ア. アサーションチェック
正解は アサーションチェック(ア)です。
プログラムの実行中に、ある特定の時点で必ず成立しているべき条件(変数間の関係など)を論理式としてプログラム内に記述しておき、その条件を満たしているかを検証する手法を アサーションチェック(表明チェック)と呼びます。想定外の動作が起きた際に即座にエラーを検出できるため、プログラムの正当性の確認やデバッグに有効です。
各選択肢の解説
- ア: 正解です。プログラム内の特定の箇所で満たすべき条件を記述して検証する手法は アサーションチェック です。
- イ: コード追跡(トレース)は、プログラムの実行経路や変数の値の変化を時系列に記録し、後から実行の過程を確認する手法です。論理式を埋め込んで動的検証を行うものではありません。
- ウ: スナップショットダンプ は、プログラム実行中のある特定の時点におけるメモリの内容やレジスタの状態などをそのままファイルなどに出力する手法です。変数の状態確認には使えますが、論理式の成立を確認する手法ではありません。
- エ: テストカバレッジ分析 は、テストを実施した際に、プログラムのコード全体のうちどの程度の割合が実行されたか(網羅率)を測定し、テストの十分性を分析する手法です。特定の時点での変数条件の成立を検証するものではありません。