バグが少ない

投稿日:

ちょいと古い話題ですが、気になってしまったので。。

Hotwiredの記事「リナックスはバグが非常に少ない」です。

Linuxはオープンソースでソースコードが全て公開されており、世界中の開発者がそのコードを入手して読んだり、書き換えることが可能になっています。このオープンソースという開発モデル自体については「伽羅とバザール」に詳しい考察があるので、是非読んでみると良いです。

で冒頭の記事によると

主要なリナックスのベンダーが提供するソフトウェアのカーネル2.6では、 570万行のコード中、985個のバグが含まれていたが、 これは、企業製の商用ソフトウェアに存在する平均的なバグの数を はるかに下回るのだという。

のだそうで、元々(M$の製品に比べて)セキュリティ面でアドバンテージがある、と言われてきたLinuxの優位性が統計学的にも裏付けられた、としています。
ですが、

カーネギー・メロン大学サイラボの『サステイナブル・コンピューティング・コンソーシアム』(SCC)によると、 ふつうの商用ソフトウェアには、コード1000行当たり20~30個のバグが含まれているという。 つまり570万行のコードでは、11万4000~17万1000個という計算になる。

この頻度はちょっと疑問を感じずにはいられません。1000行で20個って、多すぎやしませんか?統計的な数値ではそうなるんでしょうけど、コードを解析しただけで判別できるバグはいわゆる「ロジックバグ」なはず。それが言い換えると50行で1個、つまり(だいたい、感覚的に)1ファイルに一個の割合で見つかることになるんじゃ?
# ここで感覚的に、というのは大体1ソースファイルあたりのステップ数が70から80くらい、という経験則

しかもこれが本当だとすると、俺が作成しているアプリケーションにもこの頻度でバグが含まれている、と言うことになる訳で・・・
非常に頭が痛いですな。。