Sample

Dorn/java/112

Human rating uses the original dataset scale.

DatasetDorn
Human3.75
Lines30

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0010–1; higher is more readable
59.6Δ 21.2
Dorn0.3270–1; higher is more readable
25.6Δ 55.2
Mi0.6750–1; higher is more readable
77.4Δ 3.3
LLOC15Logical lines; fewer is more readable
46.5Δ 34.3
DeepSeek V4 Pro140–20; mean of three runs
65.9Δ 14.9
GPT-6.1 Sol160–20; mean of three runs
66.0Δ 14.8
BTTF0.4870–1; higher is more readable
41.5Δ 39.3
Human3.751–5; original rating
80.8

Views

Download official ZIP ↗

Select the downloaded ZIP or its extracted folder. Files stay in your browser.

Loading feature diagnosis…

Source regions

Feature contributions

Feature contributions

FeatureValueContribution
(log-odds)
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.630.549−20.808
Source linesThe number of non-empty source lines.30+12
Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value.4.757−7.136

Intercept 8.87 + feature contributions = -7.074 (log-odds).
Score = sigmoid(-7.074) = 0.001.

Feature contributions

FeatureValueContribution
(log-odds)
Identifier layout (horizontal)How rapidly the visual pattern of identifier characters changes from left to right. It measures spatial frequency, not the meaning of the names.55.903+1.297
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Indentation frequencyHow rapidly indentation changes from line to line.1−0.703
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.128−0.306
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.28−0.222
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.31−0.061
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.29.719+0.006

Intercept 0.07 + feature contributions = -0.723 (log-odds).
Score = sigmoid(-0.723) = 0.327.

Score0.675
Score15
Run 1

The code is moderately readable but has several issues. Structure is logical with clear if-else branching, but nesting depth reaches 3 levels in the else block, reducing clarity. Intent is somewhat ambiguous due to unexplained variables like 'bias', 'dif', 'BETTER_THAN' macro, and 'posBetter'/'negBetter' flags. Code length is concise, but action granularity is mixed — some lines combine multiple operations while others are appropriately single-purpose. Reading flow is natural but interrupted by the nested conditional. The use of macros like BETTER_THAN obscures comparison logic, and variable names like 'dif' and 'bias' lack descriptive clarity. The symmetry between positive/negative fitness checks is good, but could benefit from extraction into helper functions or clearer comments. Overall, functional but requires domain knowledge to interpret correctly.

Run 2

The code is moderately readable. It has clear variable names (trialFitness, posBetter, negBetter) and a logical structure. Nesting is only two levels deep, which is reasonable. Each line performs a single action, and the reading flow is natural with if-else branching. However, several aspects reduce readability: the macro BETTER_THAN obscures comparison logic, the variable 'dif' is undefined and its purpose is unclear, and the bias calculation formulas are opaque. The repeated array lookup pattern (fitnesses[solutionPosID], successes[solutionPosID], etc.) adds visual noise. The final if-else block that updates arrays is clear, but the overall intent of the bias adjustment is difficult to follow without comments explaining the algorithm's purpose. The code is concise but would benefit from extracting array accesses into local variables and replacing the macro with an explicit comparison.

Run 3

The code has a clear logical structure and moderate nesting (two levels), which is acceptable. Intent is mostly understandable: it appears to update fitness values and track success/failure counts. However, readability is hampered by unclear variable names like 'bias', 'dif', and 'posBetter'/'negBetter', which lack context. The use of a macro 'BETTER_THAN' obscures the comparison logic. Action granularity is generally good, with one action per line, but some lines combine operations (e.g., bias = 0.2f*bias + 0.4f*(dif+bias)). Reading flow is natural, proceeding from trial fitness check to success/failure update. Overall, it is readable but would benefit from better naming and replacing macros with explicit comparisons.

Run 1

Code Structure: Logically separates fitness comparison from success/failure bookkeeping. Nesting: Shallow overall, with only one nested conditional for the negative trial. Clarity of intent: Variable names convey optimization intent, but BETTER_THAN, unexplained numeric coefficients, and abbreviated dif obscure details; initialization of posBetter and negBetter is not shown. Code length: Compact without unnecessary repetition. Action granularity: Each statement performs one main action, making state updates easy to track. Reading flow: Positive trial, negative fallback, and outcome updates follow naturally, although trialFitness reassignment requires tracking which branch supplied its value. Consistent indentation helps, while sparse operator spacing slightly reduces readability.

Run 2

Code Structure: Logically separates fitness comparison and bias adjustment from success/failure bookkeeping. Nesting: Shallow overall, with just one nested conditional for the negative trial. Clarity of intent: Variable names convey optimization-related intent, but BETTER_THAN hides comparison semantics, and the bias formulas contain unexplained constants. The snippet also relies on posBetter and negBetter being initialized elsewhere. Code length: Concise, with little unnecessary code. Action granularity: Each statement performs one primary action, making updates easy to follow. Reading flow: The positive-first, negative-fallback sequence is natural, followed by a clear outcome update. Inconsistent operator spacing and an extra blank line slightly reduce polish.

Run 3

Code Structure: Logically separates positive/negative fitness comparison from success/failure bookkeeping. Nesting: Shallow overall, with only one nested conditional in the negative trial branch. Clarity of intent: Variable names suggest optimization logic, but BETTER_THAN, abbreviated dif, unexplained numeric coefficients, and externally initialized flags obscure details. Code length: Compact and appropriate, though repeated indexing adds visual noise. Action granularity: Each statement performs one primary action; arithmetic expressions are reasonably contained. Reading flow: Natural progression from evaluating trials to updating state, with consistent indentation and braces. Minor spacing inconsistencies and an unnecessary blank line slightly reduce polish.