Complexity Results from Spa 2007

The story came from here

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:

Anonymous said...

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

nch said...

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

Nat Pryce said...

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

Anonymous said...

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

Anonymous said...

The mediation code was written test first.

Julian Higman said...

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

Anonymous said...

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

Julian Higman said...
This comment has been removed by the author.
Anonymous said...

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

Anonymous said...

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

Anonymous said...

(marathon no sign of unit tests)