この概念が出た関連問題

この試験の対策ガイド

基本情報技術者試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は ア

解説

エラー埋込法(バグ埋込法)によるソフトウェアの品質推定に関する問題です。エラー埋込法は、あらかじめ意図的にエラーを埋め込んでからテストを行い、埋め込んだエラーの発見率から、まだ見つかっていない潜在エラーの総数を推定する手法です。前提となる考え方は「埋め込んだエラーも元から潜在するエラーも、同じ確率で発見される」という仮定です。記号を整理すると、S は埋め込んだエラー数、m はそのうち発見された数、T は埋込みエラーを含まない元からの潜在エラー数、n は発見された総エラー数です。発見された総数 n のうち m は埋込みエラーなので、元からのエラーの発見数は n − m です。発見率が等しいという仮定から、埋込みエラーの発見率 m/S と元からのエラーの発見率 (n − m)/T が等しい、すなわち m/S = (n − m)/T が成り立ちます。アが正解です。この式から潜在エラー数 T = S(n − m)/m と推定でき、例えば S=20、m=10、n=35 なら T = 20×25÷10 = 50 と計算できます。

なぜ他の選択肢は違うのか

選択肢 イ
m/S = T/(n − m) は、右辺の分子と分母が逆になっています。右辺は「元からのエラーの発見率」を表すべきなので、発見された数 (n − m) を全体数 T で割った (n − m)/T でなければなりません。T/(n − m) では「全体数 ÷ 発見数」となり、発見率の逆数になってしまいます。比率の式を立てるときは「発見した数 ÷ 全体の数」という向きを必ず確認しましょう。
選択肢 ウ
m/S = n/T は、右辺の分子に発見総数 n をそのまま使っている点が誤りです。n には埋め込んだエラーの発見分 m が含まれているため、元からの潜在エラーの発見数としては m を差し引いた n − m を使う必要があります。埋込みエラーと元からのエラーを分離せずに混ぜて数えてしまうと、潜在エラー数の推定が不正確になります。
選択肢 エ
m/S = T/n は二重に誤っています。まず右辺の分子・分母の向きが発見率の逆数になっており、さらに発見総数 n から埋込みエラーの発見分 m を除く処理もされていません。エラー埋込法の式は「2種類のエラーの発見率が等しい」という1つの仮定から導かれるので、両辺とも「発見数 ÷ 全体数」の形に揃っているかを確認すれば、形式だけでも誤りを見抜けます。

解くときのポイント

エラー埋込法は「埋込みの発見率=元からのエラーの発見率」の等式を立てる。発見総数 n から埋込み発見分 m を引いた (n−m) が元からのエラー発見数。両辺を「発見数/全体数」の形に揃える。