Spa 2007 attendees saw this presentation, then ran the measure tool over a range of code and kindly recorded some of their observations in comments here. Many thanks to them.
Especially rewarding is Duncan's observation regarding the time-variance of the figures across a refactoring episode. Several attendees also confirmed my suspicion that there's something odd about language implementations.
The story continues here.
11 comments:
http://sourceforge.net/project/downloading.php?group_id=12679&use_mirror=heanet&filename=jhotdraw-7.0.8.nested.zip&95932483
JHOTDRAW FRAMEWORK
ZU
ZIPF SLOPE 2.19 INTERCEPT 7.75 R2 0.92
PARETO 2.08 8.99 0.98
Private code, test-driven
Zipf Distribution Parameters
slope magnitude: 2.36
intercept: 3.84
R-squared: 0.96
Pareto Distribution Parameters
slope magnitude: 2.3
intercept: 4.31
R-squared: 0.99
FitNesse 20050731, presumably test-driven
http://fitnesse.org/fitnesse_src20050731.zip?responder=releaseDownload&release=20050731
Zipf Distribution Parameters
slope magnitude: 2.61
intercept: 7.54
R-squared: 0.9
Pareto Distribution Parameters
slope magnitude: 2.5
intercept: 8.14
R-squared: 0.97
Private code, good test coverage, but not test-driven
Zipf Distribution Parameters
slope magnitude: 2.24
intercept: 6.5
R-squared: 0.91
Pareto Distribution Parameters
slope magnitude: 2.08
intercept: 7.47
R-squared: 0.98
Sun's Fortress interpreter:
Zipf Distribution Parameters
slope magnitude: 1.61
intercept: 6.65
R-squared: 0.76
Pareto Distribution Parameters
slope magnitude: 1.62
intercept: 8.46
R-squared: 0.91
A mediation system from an unnamed telecoms company.
Mediation:
Zipf Distribution Parameters
slope magnitude: 2.09
intercept: 5.46
R-squared: 0.87
Pareto Distribution Parameters
slope magnitude: 2.05
intercept: 6.13
R-squared: 0.98
The mediation code was written test first.
C:\Users\admin\Desktop\measure0.1 Folder>measure zess
collecting data from zess...
analysis...
Zipf Distribution Parameters
slope magnitude: 1.61
intercept: 3.21
R-squared: 0.93
Pareto Distribution Parameters
slope magnitude: 1.98
intercept: 3.88
R-squared: 0.9
C:\Users\admin\Desktop\measure0.1 Folder>measure vise
collecting data from vise...
analysis...
Zipf Distribution Parameters
slope magnitude: 2.7
intercept: 3.86
R-squared: 0.93
Pareto Distribution Parameters
slope magnitude: 2.63
intercept: 4.23
R-squared: 0.99
JTCL:
jacl1.4.0...
Zipf Distribution Parameters
slope magnitude: 1.7
intercept: 7.38
R-squared: 0.87
Pareto Distribution Parameters
slope magnitude: 1.57
intercept: 9.47
R-squared: 0.96
collecting data from marathon-1.0.4 (from Sourceforge)
analysis...
Zipf Distribution Parameters
slope magnitude: 1.87
intercept: 7.93
R-squared: 0.88
Pareto Distribution Parameters
slope magnitude: 1.7
intercept: 9.72
R-squared: 0.99
A Java Media Player based on Quicktime (and so with a bunch of hacks around it's problems) - developed test first by pairs.
Zipf Distribution Parameters
slope magnitude: 2.4
intercept: 5.81
R-squared: 0.98
Pareto Distribution Parameters
slope magnitude: 2.38
intercept: 6.28
R-squared: 0.99
The same code after a couple of weeks of refactoring to accomodate a new implementation:
Zipf Distribution Parameters
slope magnitude: 2.85
intercept: 6.36
R-squared: 0.97
Pareto Distribution Parameters
slope magnitude: 2.75
intercept: 6.78
R-squared: 0.97
(marathon no sign of unit tests)
Post a Comment