【けっかんみつど】

欠陥密度 とは?

💡 コードの健康診断、1,000行に何個のバグが潜むか
📌 このページのポイント
欠陥密度 = バグ数 ÷ コード行数(KLOC) モジュール A 10,000行 2個 → 0.2/KLOC モジュール B 10,000行 5個 → 0.5/KLOC モジュール C 10,000行 10個 → 1.0/KLOC 品質:良好 品質:注意 品質:要改善
欠陥密度によるモジュール品質の比較
ひよこ ひよこ

欠陥密度ってどうやって計算するの?

ペンギン先生 ペンギン先生

見つかったバグの数をコードの量で割るんだよ。たとえば1万行のコードで20個のバグが見つかったら、欠陥密度は「2.0 / KLOC(1,000行あたり2個)」になるね。

ひよこ ひよこ

数字が小さいほどいいってこと?

ペンギン先生 ペンギン先生

そのとおり。欠陥密度が低いほど品質が高いと判断できるよ。ただし、テストが不十分でバグが見つかっていないだけという可能性もあるから注意が必要だね。

ひよこ ひよこ

どんな場面で使うの?

ペンギン先生 ペンギン先生

モジュールごとに欠陥密度を比較して「ここだけ異常に高い」と分かれば重点的にテストやリファクタリングできるんだ。品質の弱い部分を見つける地図のようなものだよ。

ひよこ ひよこ

業界の目安ってあるの?

ペンギン先生 ペンギン先生

一般的な商用ソフトウェアで1〜25 / KLOCと言われているよ。NASAのような超高信頼システムだと0.1以下を目指すこともあるんだ。プロジェクトの性質によって許容値は変わるね。

ひよこ ひよこ

コード行数で測るのって正確なの?

ペンギン先生 ペンギン先生

鋭い指摘だね。言語によって1行の情報量が違うから、完璧な指標ではないよ。最近はファンクションポイントで割る方法や、変更行数あたりの欠陥数で見る方法も使われているんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「欠陥密度」って出てきたら「コードの量あたりのバグの多さを測る指標」と思えればだいたいOK!
📖 おまけ:英語の意味
「Defect Density」 = 欠陥密度
💬 Density(密度)は科学用語と同じで、「どれだけ詰まっているか」を表すよ
← 用語集にもどる