Sample

Dorn/java/145

Human rating uses the original dataset scale.

DatasetDorn
Human3.23
Lines50

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
37.6Δ 5.0
Scalabrino0.2550–1; higher is more readable
17.1Δ 25.6
Dorn0.6930–1; higher is more readable
64.6Δ 22.0
Mi0.4760–1; higher is more readable
49.9Δ 7.2
LLOC25Logical lines; fewer is more readable
21.4Δ 21.2
DeepSeek V4 Pro8.330–20; mean of three runs
31.2Δ 11.4
GPT-6.1 Sol10.330–20; mean of three runs
12.0Δ 30.6
BTTF0.5390–1; higher is more readable
56.3Δ 13.6
Human3.231–5; original rating
42.6

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.1196.315−39.478
Source linesThe number of non-empty source lines.50+20
Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value.5.119−7.679

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

Score0.255

Feature contributions

FeatureValueContribution
(log-odds)
Indentation frequencyHow rapidly indentation changes from line to line.46+0.854
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.66.961+0.829
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.51−0.769
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.47−0.658
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.49.75+0.286
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.67+0.277
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.104−0.072

Intercept 0.07 + feature contributions = 0.817 (log-odds).
Score = sigmoid(0.817) = 0.693.

Score0.476
Score25
Run 1

The code suffers from significant readability issues. While it follows a basic linear structure, the block is dominated by two identical polling loops with empty catch blocks and magic numbers, obscuring intent. Nesting is relatively flat, but the loops' structure is confusing. The purpose of each action is unclear without domain knowledge; method names like loadRequiredJavaScriptModules() are helpful, but polling logic and hard-coded XPath strings reduce clarity. Code length is unnecessarily long due to duplicated loops. Action granularity is mostly one action per line, which is good, but the overall reading flow is repetitive and disorganized. The code appears cut off mid-loop, further hurting readability.

Run 2

The code is structured as a single test method, but it lacks logical decomposition. The repeated polling loop (with identical timeout logic) is duplicated, increasing length and reducing clarity. Nesting is moderate, but the loop with an ambiguous empty catch block obscures intent and swallows exceptions silently. Action granularity is acceptable—one action per line—but reading flow is poor due to duplicated blocks and unclear loop conditions. Magic numbers (90, 1000, 30000, 5000) are unexplained, and the 'forever loop' pattern is a code smell. The intent is partially clear (verify a document type was deleted) but the test is brittle and unnecessarily verbose. Overall it is readable in small pieces but fails as a cohesive, maintainable unit.

Run 3

The code shows a basic test structure with a clear intent to verify document type deletion, but readability is hindered by repetitive wait-for-element loops. The nested timeout logic (loop, if, try-catch, break) creates unnecessary complexity - a helper method would improve this. The repeated Thread.sleep and loadRequiredJavaScriptModules calls add noise. XPath selectors are somewhat readable but could be extracted as constants. Action granularity is generally one-action-per-line, aiding readability, but the loop structure interrupts the natural reading flow. Overall, the code is understandable but verbose and repetitive, making it less maintainable.

Run 1

Code Structure: The test follows a logical sequence, but duplicated polling logic and the incomplete ending weaken organization. Nesting: Polling loops contain nested try/if blocks, adding moderate complexity. Clarity of intent: Selenium calls and the test name provide context, but the positional XPath, unexplained delays, and empty exception handlers obscure what is being verified. Code length: Repeated navigation and waiting code could be extracted into helpers for concision. Action granularity: Each statement generally performs one action, with sensible line wrapping. Reading flow: Execution proceeds naturally from navigation to interaction and assertion, but repeated setup interrupts the flow, and the truncated snippet prevents a complete understanding of the test.

Run 2

Code Structure: The test follows a logical sequence, but duplicated polling logic and the incomplete ending weaken organization. Nesting: Polling loops contain try blocks and nested conditionals, creating moderate indentation depth. Clarity of intent: Selenium calls and the test name suggest the purpose, but the positional XPath, magic timeout values, and empty exception handlers obscure details; deletion is not shown in the excerpt. Code length: Repeated waiting logic adds unnecessary length and could be extracted into a helper. Action granularity: Statements generally perform one action each, with reasonable line wrapping. Reading flow: Navigation and assertions proceed sequentially, but repeated setup, fixed sleeps, and verbose polling interrupt the flow.

Run 3

Code Structure: The test follows a recognizable setup, navigation, and assertion sequence, but repeated polling logic lacks helper extraction, and the snippet is incomplete. Nesting: Polling loops contain moderately deep try/if nesting, adding visual complexity. Clarity of intent: The class name and Selenium calls suggest a document-type test, but the positional XPath does not explain what is asserted, and no deletion is shown. Empty catch blocks and unexplained timeout values further obscure intent. Code length: Repeated waiting and setup code make the snippet longer than necessary. Action granularity: Most statements perform one action, with readable line wrapping. Reading flow: Execution is mostly sequential, but duplicated waits, arbitrary sleeps, and the abrupt ending interrupt the flow.