応用情報技術者 2013年 春期 午前2 問47
問題文
エラー埋込み法による残存エラーの予測において、テストが十分に進んでいると仮定する。当初の埋込みエラーは48個である。テスト期間中に発見されたエラーの内訳は、埋込みエラーが36個、真のエラーが42個である。このとき、残存する真のエラーは何個と推定されるか。
選択肢
ア:6
イ:14(正解)
ウ:54
エ:56
🔒 解説は解答すると表示されます
エラー埋込み法の残存推定【午前2解説】
正解の理由
埋込みエラーの検出率 を用いて、検出された真のエラー数から全体の真のエラー総数を推定し、そこから既に見つかった真のエラーを差し引く方法が正しいため、イの「14個」が妥当です。具体的には、埋込み48個中36個が検出されたので検出率は 、これを用いて真のエラー総数を と推定し、残存は となります。
解法ステップ
- 埋込みエラーの検出率 を求める。
- 検出率 を使って、真のエラーの総数を推定する。検出済みの真のエラー数を で割る。
- 残存する真のエラーは、推定総数から既に見つかった真のエラーを引く。
数学的にまとめると、
選択肢別の誤答解説
- ア: 6
6は例えば や のような誤った引き算・分解から来る値です。本問題では埋込み数と見つかった真のエラーの単純差を残存と見なせないため誤りです。 - イ: 14
上記のとおり、検出率で真の総数を推定して既検出分を差し引く正しい手順により導かれる値です。 - ウ: 54
54は計算ミスや不適切な丸め、あるいは のような誤った検出率で計算したときに出る候補ですが、正確な検出率 を使うと出てきません。 - エ: 56
56は真のエラーの推定総数であり、残存ではありません。設問は「残存する真のエラー」を問うているため、推定総数そのものを答えるのは誤りです。
よくある誤解
- 検出率の補数 を見つかった真のエラーに直接掛けて残存を求める(例:)のは誤り。検出率は「埋込みエラーに対する検出の割合」を表しており、それを真のエラーに直接掛けると母数の不一致で意味が変わります。正しくは検出率で真の総数を逆算してから差し引きます。
- 推定値を途中で四捨五入して選択肢に合わせること。推定はまず正確に算出し、その後必要なら整数化するが、論理的根拠なく丸めてはいけません(本問では整数で結果が出ます)。
補足コラム
この手法は捕獲再捕獲法(capture–recapture)に基づく考え方です。埋込みエラーを「標識(タグ)」として用い、その検出率を真のバグ群全体の検出率の推定に流用します。前提として「埋込みエラーと真のエラーの検出されやすさが同等であること」「テストが十分に進んでいること」などの仮定が必要です。これらの前提が崩れると推定は偏ります。
FAQ
Q1: なぜ埋込みエラーの検出率を真のエラーに適用できるのですか?
A1: 埋込みエラーは人工的に挿入した参照ポイントです。検出確率が実際の欠陥と同様に振る舞うと仮定すれば、埋込みエラーの検出率を真の欠陥の検出確率の推定に使えます。これが捕獲再捕獲法の基本です。
A1: 埋込みエラーは人工的に挿入した参照ポイントです。検出確率が実際の欠陥と同様に振る舞うと仮定すれば、埋込みエラーの検出率を真の欠陥の検出確率の推定に使えます。これが捕獲再捕獲法の基本です。
Q2: 小数が出た場合はどう処理するべきですか?
A2: 計算はまず正確な実数で行い、最終的に「個数」として表現するときに文脈に応じて適切な丸めを行います。ただし問題では理論通りに計算すると整数が得られることが多く、安易な丸めは誤答の原因になります。
A2: 計算はまず正確な実数で行い、最終的に「個数」として表現するときに文脈に応じて適切な丸めを行います。ただし問題では理論通りに計算すると整数が得られることが多く、安易な丸めは誤答の原因になります。
Q3: 埋込み数が少ないと結果は信頼できないですか?
A3: はい。埋込み数が少ないと統計的ばらつきが大きくなり、推定誤差が増します。可能なら十分な埋込み数を確保してください。
A3: はい。埋込み数が少ないと統計的ばらつきが大きくなり、推定誤差が増します。可能なら十分な埋込み数を確保してください。
関連キーワード: エラー埋め込み法、残存エラー推定、検出率、捕獲再捕獲法、ソフトウェアテスト

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

