Sample

Dorn/java/102

Human rating uses the original dataset scale.

DatasetDorn
Human3.23
Lines30

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
56.5Δ 13.6
Scalabrino0.6220–1; higher is more readable
63.6Δ 20.7
Dorn0.7730–1; higher is more readable
73.5Δ 30.6
Mi0.6960–1; higher is more readable
83.0Δ 40.1
LLOC11Logical lines; fewer is more readable
57.0Δ 14.1
DeepSeek V4 Pro110–20; mean of three runs
46.4Δ 3.5
GPT-6.1 Sol80–20; mean of three runs
3.2Δ 39.7
BTTF0.4620–1; higher is more readable
35.7Δ 7.2
Human3.231–5; original rating
42.9

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.649.85−21.445
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.965−7.447

Intercept 8.87 + feature contributions = -8.022 (log-odds).
Score = sigmoid(-8.022) = 0.

Score0.622

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.59.871+1.129
Indentation frequencyHow rapidly indentation changes from line to line.28+0.231
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.28−0.222
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.60+0.164
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.106−0.091
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.705+0.005

Intercept 0.07 + feature contributions = 1.226 (log-odds).
Score = sigmoid(1.226) = 0.773.

Score0.696
Score11
Run 1

The code has a clear class and method structure with a purposeful name, and author documentation is present. The intent - waiting for the Control Panel link with a timeout - is reasonably clear. However, readability suffers from a pointless while/switch construct with a label variable that never changes (the switch adds no value), an 'infinite for loop' pattern for the timeout that is non-obvious, and an empty catch block. The timeout loop is verbose compared to standard helper methods. Nesting is moderate (while > switch > case > for > try, but the switch does not contribute). The code length is unnecessarily long due to the obscure control flow. Reading flow is disrupted by the unusual labeled-loop style mimicking generated or legacy code rather than idiomatic Java.

Run 2

The code has clear intent with a named test method and basic structure, but several issues reduce readability. The state-machine pattern using a while switch with numeric labels (label = 1) is unconventional and makes control flow hard to follow—the switch-case adds indirection without clear benefit over simple sequential code or method calls. The polling loop with nested try-catch and empty exception handler obscures the wait-for-element logic and mixes concerns (timeout handling, exception swallowing, sleep). Magic numbers (90 seconds, 1000ms) lack named constants. The truncated snippet ends mid-loop, suggesting incomplete context. Action granularity is mostly reasonable but the inner conditionals and try-catch create moderate nesting. Overall, the pattern feels overly complex for what should be straightforward setup/teardown logic, reducing clarity and maintainability.

Run 3

The code lacks clear structure and intent. It uses an unnecessary while/switch pattern (label variable) that adds complexity without benefit. The polling loop with hardcoded 90-second timeout and empty catch block is cryptic and should be extracted into a helper method. Multiple actions are crammed into few lines, reducing readability. The method name suggests cleanup but performs navigation, creating ambiguity. Deep nesting from switch inside while, plus try/catch inside for loop, hurts reading flow. Missing meaningful variable names and magic numbers further degrade clarity. While some basic indentation is present, the overall approach is tangled and non-idiomatic.

Run 1

Code Structure: The setup and polling sequence are grouped logically, but the label-driven while/switch structure adds unnecessary complexity. Nesting: Multiple nested loops, a switch, a try/catch, and conditionals make the snippet difficult to scan. Clarity of intent: Opening the home page and waiting for the Control Panel link are clear, but the label variable and empty exception handler obscure control flow and failure behavior. Code length: The polling logic is verbose and would be clearer in a named wait helper. Action granularity: Most lines perform one action, which helps readability. Reading flow: Indentation and spacing are consistent, but deep nesting interrupts the natural sequence. The snippet ends abruptly with unclosed blocks, limiting assessment of the complete method.

Run 2

1. Code Structure: The setup and polling sequence are locally organized, but the label-driven while/switch structure adds unnecessary complexity. 2. Nesting: Multiple layers of loops, switch, try, and conditionals make the code deeply nested. 3. Clarity of intent: Opening the home page and waiting for the Control Panel link are clear; the label variable, empty catch block, and generic timeout message obscure broader intent and failure behavior. 4. Code length: The polling logic is verbose and could be expressed more concisely with a wait helper. 5. Action granularity: Statements generally perform one action per line, aiding readability. 6. Reading flow: The local sequence is natural, but control-flow scaffolding interrupts it. The snippet ends mid-block, preventing assessment of the complete method.

Run 3

Code Structure: A straightforward test setup and polling operation are obscured by a label-driven while/switch structure. Nesting: Multiple layers of loops, switch, try, and if statements make the code difficult to scan. Clarity of intent: Opening the home page and waiting for the Control Panel link are understandable, but the label variable and empty exception handler are unexplained. Code length: The polling logic is verbose and could be expressed more clearly with a dedicated wait helper. Action granularity: Statements generally perform one action per line, improving readability. Reading flow: Indentation and spacing help, but the indirect control flow disrupts a natural top-to-bottom reading. The supplied snippet is incomplete, ending before closing braces, which further limits readability and assessment.