[GRASS5] GRASS SLOC analysis

Hamish hamish_nospam at yahoo.com
Wed Aug 18 07:16:49 EDT 2004


for the hell of it I ran generic sloccount on various versions of grass.
http://www.dwheeler.com/sloccount/

Useless, but interesting.


Highlights:

GRASS 5.0.3:
Total Physical Source Lines of Code (SLOC)                = 772,827
Development Effort Estimate, Person-Years (Person-Months) = 215.53 (2,586.41)
Total Estimated Cost to Develop                           = $ 29,115,753

GRASS 5.3.0:
Total Physical Source Lines of Code (SLOC)                = 918,816
Development Effort Estimate, Person-Years (Person-Months) = 258.48 (3,101.71)
Total Estimated Cost to Develop                           = $ 34,916,572

GRASS 5.7.0:
Total Physical Source Lines of Code (SLOC)                = 333,939
Development Effort Estimate, Person-Years (Person-Months) = 89.31 (1,071.67)
Total Estimated Cost to Develop                           = $ 12,064,022



Linux Kernel 2.4.27:
Total Physical Source Lines of Code (SLOC)                = 3,511,066
Development Effort Estimate, Person-Years (Person-Months) = 1,056.19 (12,674.25)
Total Estimated Cost to Develop                           = $ 142,676,539

Debian 2.2 (Potato) [some time in 2001]:
Total Physical Source Lines of Code (SLOC)                = 55,201,526
Development Effort Estimate, Person-Years (Person-Months) = 14,005.78 (168,069.41)
Total Estimated Cost to Develop                           = $1.9 billion
  http://people.debian.org/~jgb/debian-counting/




Hamish



Breakdown follows.
=================================================================
GRASS 5.0.3:
SLOC    Directory       SLOC-by-Language (Sorted)
247580  src.contrib     ansic=230984,tcl=9467,cpp=3569,sh=1988,fortran=950,
                        yacc=562,csh=60
132042  src_libes       ansic=121680,tcl=9663,sh=416,cpp=283
88045   src_raster      ansic=85571,yacc=1393,lex=805,sh=276
76462   src_mapdev      ansic=75268,lex=830,sh=313,csh=51
50719   src_imagery     ansic=50719
42160   src_display     ansic=41140,sh=845,tcl=142,perl=33
29043   src.garden      ansic=27127,fortran=1294,csh=385,sh=237
24605   src_paint       ansic=24186,sh=419
20797   src_sites       ansic=18472,fortran=1846,lex=285,pascal=194
13277   src_scripts     sh=12973,csh=198,ansic=56,awk=50
10336   src_misc        ansic=10336
8599    src_general     ansic=6677,csh=1056,sh=790,asm=75,sed=1
7981    src_ps.map      ansic=7498,sh=483
6981    src_include     ansic=6981
6056    src_tcltkgrass  tcl=4865,sh=1170,csh=16,ansic=5
2757    top_dir         sh=2757
2178    src_CMD         modula3=1490,sh=378,ansic=310
837     src_fonts       ansic=741,fortran=96
689     testsuite       exp=611,tcl=78
561     tools           sh=561
457     src_front.end   ansic=457
277     src_gui         python=277
178     handheld        sh=178
133     html            sh=133
42      pkg             sh=42
35      mk              sh=18,sed=17
0       ALPHA64         (none)
0       CVS             (none)
0       cygwin          (none)
0       documents       (none)
0       locale          (none)
0       rpmspecs        (none)
0       src_CVS         (none)


Totals grouped by language (dominant language first):
ansic:       708208 (91.64%)
tcl:          24215 (3.13%)
sh:           23977 (3.10%)
fortran:       4186 (0.54%)
cpp:           3852 (0.50%)
yacc:          1955 (0.25%)
lex:           1920 (0.25%)
csh:           1766 (0.23%)
modula3:       1490 (0.19%)
exp:            611 (0.08%)
python:         277 (0.04%)
pascal:         194 (0.03%)
asm:             75 (0.01%)
awk:             50 (0.01%)
perl:            33 (0.00%)
sed:             18 (0.00%)




Total Physical Source Lines of Code (SLOC)                = 772,827
Development Effort Estimate, Person-Years (Person-Months) = 215.53 (2,586.41)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 4.13 (49.52)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 52.23
Total Estimated Cost to Develop                           = $ 29,115,753
 (average salary = $56,286/year, overhead = 2.40).
SLOCCount is Open Source Software/Free Software, licensed under the FSF GPL.
Please credit this data as "generated using David A. Wheeler's 'SLOCCount'."




=================================================================

GRASS 5.3.0:
SLOC    Directory       SLOC-by-Language (Sorted)
275154  src.contrib     ansic=246138,cpp=13644,tcl=11712,sh=2088,fortran=950,
                        yacc=562,csh=60
132827  src_libes       ansic=122465,tcl=9663,sh=416,cpp=283
91123   src_raster      ansic=88638,yacc=1404,lex=805,sh=276
75956   src_mapdev      ansic=74762,lex=830,sh=313,csh=51
72459   src.garden      ansic=67867,fortran=2793,java=1154,csh=385,sh=260
50028   src_imagery     ansic=50028
45006   src.nonGPL      ansic=44699,csh=183,sh=76,cpp=32,perl=16
43187   src_display     ansic=42167,sh=845,tcl=142,perl=33
24605   src_paint       ansic=24186,sh=419
21034   src_sites       ansic=18709,fortran=1846,lex=285,pascal=194
15812   unused          ansic=10314,tcl=5288,sh=165,csh=39,sed=6
13661   src_scripts     sh=13357,csh=198,ansic=56,awk=50
11073   src_misc        ansic=11073
8730    src_general     ansic=6798,csh=1056,sh=800,asm=75,sed=1
7985    src_ps.map      ansic=7502,sh=483
6772    src_include     ansic=6772
6757    src_tcltkgrass  tcl=5514,sh=1222,csh=16,ansic=5
5702    src.todo        ansic=5569,tcl=133
2771    top_dir         sh=2771
2304    tools           sh=2304
2182    src_CMD         modula3=1490,sh=382,ansic=310
1029    locale          tcl=985,sh=39,ansic=5
837     src_fonts       ansic=741,fortran=96
689     testsuite       exp=611,tcl=78
457     src_front.end   ansic=457
277     src_gui         python=277
189     handheld        sh=189
133     html            sh=133
42      pkg             sh=42
35      mk              sh=18,sed=17
0       ALPHA64         (none)
0       cygwin          (none)
0       documents       (none)
0       gips            (none)
0       rpmspecs        (none)


Totals grouped by language (dominant language first):
ansic:       829261 (90.25%)
tcl:          33515 (3.65%)
sh:           26598 (2.89%)
cpp:          13959 (1.52%)
fortran:       5685 (0.62%)
csh:           1988 (0.22%)
yacc:          1966 (0.21%)
lex:           1920 (0.21%)
modula3:       1490 (0.16%)
java:          1154 (0.13%)
exp:            611 (0.07%)
python:         277 (0.03%)
pascal:         194 (0.02%)
asm:             75 (0.01%)
awk:             50 (0.01%)
perl:            49 (0.01%)
sed:             24 (0.00%)




Total Physical Source Lines of Code (SLOC)                = 918,816
Development Effort Estimate, Person-Years (Person-Months) = 258.48 (3,101.71)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 4.42 (53.06)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 58.46
Total Estimated Cost to Develop                           = $ 34,916,572
 (average salary = $56,286/year, overhead = 2.40).
SLOCCount is Open Source Software/Free Software, licensed under the FSF GPL.
Please credit this data as "generated using David A. Wheeler's 'SLOCCount'."




=================================================================

GRASS 5.7.0:
SLOC    Directory       SLOC-by-Language (Sorted)
111525  lib             ansic=98873,tcl=11405,sh=823,lex=246,yacc=177,sed=1
78672   raster          ansic=68041,cpp=10075,lex=208,yacc=197,sh=151
30026   visualization   ansic=22333,tcl=7604,sh=89
24776   imagery         ansic=24776
23558   display         ansic=21512,tcl=1860,sh=186
22681   vector          ansic=22014,tcl=435,yacc=112,perl=61,sh=59
7404    ps              ansic=7404
7082    include         ansic=7082
5656    db              ansic=5656
4692    general         ansic=4591,sh=101
4134    raster3d        ansic=4134
3255    gui             tcl=3007,sh=248
2837    top_dir         sh=2837
2718    notyetuploaded  ansic=2718
2307    tools           sh=2293,ansic=14
2001    scripts         sh=2001
550     sites           ansic=550
65      doc             ansic=65
0       debian          (none)
0       locale          (none)


Totals grouped by language (dominant language first):
ansic:       289763 (86.77%)
tcl:          24311 (7.28%)
cpp:          10075 (3.02%)
sh:            8788 (2.63%)
yacc:           486 (0.15%)
lex:            454 (0.14%)
perl:            61 (0.02%)
sed:              1 (0.00%)




Total Physical Source Lines of Code (SLOC)                = 333,939
Development Effort Estimate, Person-Years (Person-Months) = 89.31 (1,071.67)
 (Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))
Schedule Estimate, Years (Months)                         = 2.95 (35.43)
 (Basic COCOMO model, Months = 2.5 * (person-months**0.38))
Estimated Average Number of Developers (Effort/Schedule)  = 30.25
Total Estimated Cost to Develop                           = $ 12,064,022
 (average salary = $56,286/year, overhead = 2.40).
SLOCCount is Open Source Software/Free Software, licensed under the FSF GPL.
Please credit this data as "generated using David A. Wheeler's 'SLOCCount'."




More information about the grass-dev mailing list