プログラム正当性の動的検証手法(アサーションチェック: 断定文)

アサーションチェック(Assertion Check: 表明・断定文チェック) は、プログラムコード内の特定のチェックポイントにおいて、「この時点で満たされるべき事前条件、事後条件、ループ不変条件(変数間の関係など)」を論理式( assert(condition) )として記述・埋め込み、実行時にその条件が真であるかどうかを動的に検査する手法です。もし論理式が偽となった場合は即座に例外やエラーを発生させて停止し、バグの早期発見・局所化を可能にします。したがって、正解は ア です。 イ: プログラムの実行行を1ステップずつ追跡して変数の変化を観測する「コード追跡(ステップ実行/トレース)」です。 ウ: プログラム実行中の特定時点におけるメモリやレジスタの全内容を一括出力して分析する「スナップショットダンプ」です。 エ: テスト実行によってコードのどの命令や分岐が網羅(実行)されたかを測定する「テストカバレッジ(網羅率)分析」です。

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

出典令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問22
ア
アサーションチェック
イ
コード追跡
ウ
スナップショットダンプ
エ
テストカバレッジ分析