令和元年度 秋期 システムアーキテクト試験 午前Ⅱ 問8

プログラム実行中の特定の時点で成立すべき変数間の関係や条件を記述した論理式を埋め込んで,そのプログラムの正当性を検証する手法はどれか。

解答・解説

正解: ア. アサーションチェック

プログラムの実行中に、特定の時点で必ず成立していなければならない変数間の関係や条件(不変条件など)を論理式として記述し、それが実際に満たされているかを実行時に検証する手法はアサーションチェック(表明検査)です。条件が満たされない場合にはエラーや例外を発生させることで、プログラムの不具合を早期に発見し、正当性を検証します。

したがって、正解はアです。

各選択肢の解説

  • ア:アサーションチェック
    正解です。プログラム内の特定の位置で成立すべき条件を論理式(アサーション)として埋め込み、実行時にその条件が真であるかを確認することで正当性を検証する手法です。
  • イ:コード追跡
    プログラムのソースコードを人間の目で追いながら、処理の流れや変数の変化を確認する机上デバッグの手法(コードトレース)であり、プログラム中に論理式を埋め込んで実行時に検証するものではありません。
  • ウ:スナップショットダンプ
    プログラムの実行中、特定の命令が実行された時点でのメモリやレジスタの内容を出力するデバッグ手法です。条件の論理式を埋め込んで成否を検証するものではありません。
  • エ:テストカバレッジ分析
    テストケースを実行した際に、プログラム全体のコードのうちどの程度の割合(網羅率)が実行されたかを計測・分析する手法です。

Spineチーム