arXiv Science⌕ Search

arXiv subjects

Daniel Sagenschneider

Publications and source records attributed to Daniel Sagenschneider.

2 recordsLinked to original sources

Complexity concentration as a god-class and god-method detector: a pre-registered test of a scale-free outlier rule against tool definitions and human labels

God-class and god-method detectors mark concentrated complexity with a raw-scale threshold, a constant fitted on a corpus and re-fitted when the population moves. This paper pre-registers a test of a rule with no raw-scale constant: a unit is a god unit when its complexity is a robust outlier for its own codebase, a modified z-score of 3.5 or more. On 445 repositories in ten languages, 171 of them Java, and the 492 Java repositories of MLCQ, the rule is scored against PMD's GodClass, MLCQ's reviewers and two further definitions, with signal and cutoff chosen on half the repositories and read on the rest. LLM-written code may gather its complexity differently, the case for a detector that needs no re-fitting; the first question is whether one can match the scale of existing human-written code. The verdict is inconclusive on both populations, by different arms. The rule ranks PMD's god classes from the per-file maximum of cognitive complexity at per-repository AUCs of 0.916 and 0.908. On the main run it is, at its default, non-inferior within the margin to a cutoff tuned on the same population on recovery, and flags about twice as many non-god classes; on MLCQ it flags about as many and falls short of the margin on pooled recovery. Pooled, the raw value ranks god classes better than the per-repository score, and a cutoff carried between the populations lost almost nothing: both are human-written code on one scale, so the test is of matching that scale, not of surviving a shift. The rule's extra flags are small classes, just over half holding a method at PMD's own method-level threshold; its misses are large classes whose complexity is spread over many methods. Two readers of the source did not agree on what the extra flags are. Concentration finds where the complexity is; whether that place is a god unit is a question about coupling, which a registered follow-on study takes up.

cs.SE↗

Conserved amount, negotiable placement. Prompting perturbs one architecture, an AI reviewer both

Tesler's conservation law holds that a problem carries an irreducible amount of complexity. Brooks separates that essential part from the accidental part a solution adds. If the essential part is fixed, architecture is placement rather than quantity, and the question is which levers move placement. An AI agent implements sixty accumulating change requests on one REST endpoint under two architectures, a mutative Spring controller and an additive OfficeFloor pipeline, under five conditions, ten runs per cell, model fixed. Four are external controls, from a bare change request to the disclosed structural cost function. The fifth is different in kind. A second agent reviews each change and reasons about cohesion itself. Amount is steady. Across all ten cells the finished complexity varies by 7% to 20% over four operationalisations, and the complexity the sixty rules added by 21% to 29% within an architecture. Placement is not. Under the four external controls the plasticity ratio between the architectures is near 1 on six amount metrics (five of six intervals contain 1) against 2.7 to 10.0 on eleven placement metrics (ten of eleven above 1). The mutative architecture moves, the additive one does not, and the disclosed formula brings it to the additive arm's untouched placement. The AI reviewer is the one lever that moves the additive arm, on one family only. It consolidates the pipeline, raising change- and mass-concentration on every such metric, interval excluding zero, while leaving coupling, file count and per-node complexity untouched. The price is reported in full. Strict correctness fell in most comparisons though each rule was implemented correctly in over 99% of checkpoints, and all three outcome measures favour the concentrated codebase. The contribution is a measurable property of an architecture and its lever, not a verdict on either.

cs.SE↗