勘と経験と読経

略すとKKD。ソフトウェア開発やITプロジェクトマネジメントに関するあれこれ。

ソフトウェアのコード行数

自分のための調査メモ。ひょんなことで知り合いからそびえ立つクソのような見積もりを見せてもらった(おそらく計算間違い)。巨大なソフトウェアというものの規模がイメージしにくかったので、世の中にある各種のソフトウェアのソースコード行数をちょっと調べてみたのだった。

各種ソフトウェアの行数まとめ

出展はごちゃまぜだしLOCの定義もまちまちであると予測されるので注意。あくまで目安としてリスト化してみたもの。

Software SLOC(Million) 出展
Windows NT3.1 4-5 Wikipedia
Windows NT3.1(1stバージョン) 2.8 マコネル
Windows NT3.5 7-8 Wikipedia
Windows NT4.0 11-12 Wikipedia
Windows 2000 29- Wikipedia
Windows XP 45 Wikipedia,fb
Windows Server 2003 50 Wikipedia
Windows 7 100 カーニハン
Unix Version 6 0.009 カーニハン
Debian 2.2 55-59 Wikipedia
Debian 3.0 104 Wikipedia
Debian 3.1 215 Wikipedia
Debian 4.0 283 Wikipedia
Debian 5.0 324 Wikipedia
OpenSolaris 9.7 Wikipedia
FreeBSD 8.8 Wikipedia
Mac OS X 10.4 86 Wikipedia
Linux kernel 2.6.0 5.2 Wikipedia
Linux kernel 2.6.29 11.0 Wikipedia
Linux kernel 2.6.32 12.6 Wikipedia
Linux kernel 2.6.35 13.5 Wikipedia
Linux kernel 3.6 15.9 Wikipedia
Excel 3.0 0.64 マコネル
AMANDA 0.16 Coverity(2012)
ffmpeg 0.57 Coverity(2012)
Mesa 1.03 Coverity(2012)
NTP 0.28 Coverity(2012)
XBMC 1.2 Coverity(2012)
FireFox 1 2.14 almossawi.com
FireFox 1.5 2.3 almossawi.com
FireFox 20 4.01 almossawi.com
Dropbox(クライアント含む) 0.93 Webのこの記事
Intuit QuickBooks 10 Webのこの記事
東証arrowhead 3.5 SQiPシンポジウム2011
アポロ11号 0.06 Webのこの記事
スペースシャトル 25.6 マコネル
Google 2000 Webのこの記事

コピペミスなどがあるかもしれないので適宜出展を参照のこと。
OSの大きさとスペースシャトルとの対比が何とも・・・

ソース行数という単位について

LOCなどを取り上げると、ウォーターフォール臭がして毛嫌いされるのかも知れないけれども、ソフトウェア規模を測る上での物差しとしては使い勝手は良いと思う。ただしこればかりでは話にならない。

「コード行という指標は、ソフトウェアの規模を測るにはまったく適さない方法である。ただし、規模を測る他の方法よりはましである。それにもかかわらず、多くの組織では、過去のプロジェクトの規模を測定したり、また新しいプロジェクトの初期の見積りを作成するために、コード行という指標を相変わらず馬車馬のように使っている。コード行はソフトウェア見積りの指標のリンガフランカ(共通語)である。この指標の限界さえ覚えておけば、手始めとしては適しているだろう」
ソフトウェア見積り 第3部 見積りの課題

追記