Baseline: what the file conventions are compared against

The review is finished because the baselines can be named. All three run on the same reference graph of a repository (files as nodes, imports and links as edges).

Baseline What it is Compared on
A, a hand-made tree the folder layout a maintainer built by judgment, as it stands cost of the tree, and the share of proposed moves a maintainer would accept (top ten)
B, Bunch MQ hill-climbing on the graph, flat (Mancoridis 1998, Mitchell 2006) MoJoFM distance to A, and cost
C, average linkage agglomerative clustering, a constant-factor approximation of the hierarchy objective (Moseley 2017, Cohen-Addad 2019) MoJoFM distance to A, and cost

Reading the result

  • If A beats B and C on cost while its top proposed moves are accepted, the conventions are calibrated.
  • If B or C beat A and their moves are refused, the Candela 2016 finding has reproduced: the cost needs a term the literature lacks.
  • Constraint checks (no cycles, breadth ceiling, entry through an index) need no baseline: they pass or fail.

Practice baselines

People compare a layout with the tool default they know, so these are named as well. They are not run on the reference graph.

Baseline What it is
D, tool layout the fixed layout of the build tool or framework in use (Maven 2026, Cargo 2026, Rails 2026)
E, linter default 300 lines per file (ESLint 2026a) or 2000 (Checkstyle 2026)