NWネットワークスペシャリスト試験 午前Ⅰ

平成22年度秋期 ネットワークスペシャリスト 午前Ⅰ 問15

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

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

選択肢

  1. ア
    アサーションチェック
  2. イ
    コード追跡
  3. ウ
    スナップショットダンプ
  4. エ
    テストカバレッジ分析
解き方のヒントを見る

検証手法を見分けるための視点

プログラムの正当性を考えるときは、対象とする性質、確認の対象範囲、実行を伴うかどうかなど、各手法が何を確かめる枠組みなのかをより丁寧に整理して読んでいきましょう。

この問題で問われていること

選択肢を読む際は、検証が扱う対象をどの単位で捉え、どのような根拠で妥当性を判断しようとしているかという一点に注目し、用語の印象だけで決めないよう十分注意しましょう。

視点

正当性検証の手法を比較するときは、名称や目的を暗記するよりも、各説明がどのような根拠で主張を支えようとしているかを読み取り、同じ観点で整理してみましょう。

確認ポイント

  • 選択肢が前提に置く『確かめたい主張』を読み取る
  • その主張を支える根拠がどこにあるかを整理する
  • 主張と根拠の対応だけを比較し、名称の連想で判断しない
正解と解説を見る

正解

ア

解説

この設問は、実行中の特定時点で成立すべき条件を論理式として表し、その条件が破られていないかを確認する検証手法を問う。条件違反を発生箇所で検出できる点が重要です。

理由

正答の手法は、プログラム中に変数の値や状態について成立すべき条件を論理式で記述し、実行時にその条件を検査する。条件が成立しない時点を把握できるため、プログラムの正当性確認や不具合の早期発見に役立つ。

比較

コードの処理を追う方法、実行時の状態を記録する方法、テストの実行範囲を測定する方法は、それぞれ目的が異なる。設問では、状態の確認や記録ではなく、成立条件を埋め込んで検査する点が問われている。

選択肢ア(正解)

これは正解だよ。アサーションチェックは、プログラムの実行中に変数の値や状態について成り立つべき条件を論理式として記述し、実行時にその条件を検査する手法である。条件が破られた時点を検出でき、プログラムの正当性確認や不具合の早期発見に役立つ。

選択肢イ

これは不正解だよ。コード追跡は、ソースコードを読み進めながら処理の流れや変数値の変化を追って、動作を確認・解析する方法である。実行時点の成立条件を論理式としてプログラムに埋め込み、自動的に検査する手法そのものではない。

選択肢ウ

これは不正解だよ。スナップショットダンプは、障害発生時などの特定時点で、メモリや変数などの状態を記録して調べる手法である。状態の保存と事後分析が中心であり、成立すべき関係や条件を論理式として埋め込み、実行中に判定する説明には該当しない。

選択肢エ

これは不正解だよ。テストカバレッジ分析は、テストによって命令や分岐、条件などがどの程度実行されたかを測定し、テストの網羅性を評価する手法である。変数間の条件を実行中に検査して正当性を確認する仕組みではない。

学習のポイント

実行時に成立すべき条件を記述し、違反を検出する検証の考え方を整理する。

出典:独立行政法人 情報処理推進機構(IPA)平成22年度秋期 ネットワークスペシャリスト試験 午前Ⅰ 問15(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針