Kalah TDD study · Part 8 of 29 · Results

Results: consistency across runs

How much each design varies between replicate builds.

Source runs rep-1 and rep-2 at tdd-experiment c3dd988

Contents

Each consistency score pools every replicate of runs rep-1 and rep-2 per method, as the consistency table states.

C combines unadjusted mutation, classes and cost to completion. It pools raw costs across CLI builds 2.1.308 and 2.1.309 without correcting that change. The Classic greedy TDD drift test gave M p 0.310. The global spread test did not detect a difference (p 0.464).

Consistency across runs

Figure 8.1

Consistency score per method

Informs Q22.

Exploratory. Consistency scores C: Functions first, classes later 1.14, Noun-verb map 1.65, Anchor Engineering 1.06, Classic greedy TDD 0.87, Held-out TDD 0.96, Coarse-to-fine TDD 1.06, Most informative next test 0.38. The spread of C across methods gives permutation p 0.464.

Exploratory, since only the replicated methods enter it. Each shape is one metric's relative spread, a method's mean absolute deviation from its own median divided by the pooled mean absolute deviation across eligible builds, and the tick is C, their mean. Lower C means less observed spread on this composite. A metric with at least 60 percent of builds at its bound reads at bound and leaves C. A metric with fewer than two methods off its bound reads not comparable and is not drawn. Tag: recomputed.

00.511.522.5Relative spread, 1 = pooled reference spreadFunctions first, classes laterFunctions first, classes later: unadjusted mutation 1.98Functions first, classes later: classes 1.14Functions first, classes later: cost to completion 0.30Functions first, classes later: C 1.14Noun-verb mapNoun-verb map: unadjusted mutation 2.18Noun-verb map: classes 1.43Noun-verb map: cost to completion 1.34Noun-verb map: C 1.65Anchor EngineeringAnchor Engineering: unadjusted mutation 0.21Anchor Engineering: classes 1.43Anchor Engineering: cost to completion 1.53Anchor Engineering: C 1.06Classic greedy TDDClassic greedy TDD: unadjusted mutation 0.75Classic greedy TDD: classes 0.86Classic greedy TDD: cost to completion 1.00Classic greedy TDD: C 0.87Held-out TDDHeld-out TDD: unadjusted mutation 1.73Held-out TDD: classes 0.57Held-out TDD: cost to completion 0.59Held-out TDD: C 0.96Coarse-to-fine TDDCoarse-to-fine TDD: unadjusted mutation 0.25Coarse-to-fine TDD: classes 1.71Coarse-to-fine TDD: cost to completion 1.23Coarse-to-fine TDD: C 1.06Most informative next testMost informative next test: unadjusted mutation 0.14Most informative next test: classes 0.00Most informative next test: cost to completion 1.01Most informative next test: C 0.38The average spread over all methods
Unadjusted mutationClassesCost to completion
Data
Table view, 7 rows and 8 columns
MethodAdjusted mutationUnadjusted mutationClassesCost to completion
Functions first, classes later1.371.981.140.30
Noun-verb map1.612.181.431.34
Anchor Engineeringat bound0.211.431.53
Classic greedy TDD0.330.750.861.00
Held-out TDD1.361.730.570.59
Coarse-to-fine TDDat bound0.251.711.23
Most informative next testat bound0.140.001.01
MethodStrict PMD violationsCQP acceptedConsistency score C
Functions first, classes laterat bound1.681.14
Noun-verb mapat bound0.001.65
Anchor Engineeringat bound0.841.06
Classic greedy TDD0.971.470.87
Held-out TDD1.120.840.96
Coarse-to-fine TDD1.221.261.06
Most informative next test0.710.420.38