Sample

Dorn/java/113

Human rating uses the original dataset scale.

DatasetDorn
Human3.18
Lines30

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
56.0Δ 15.6
Dorn0.2510–1; higher is more readable
20.6Δ 19.8
Mi0.5380–1; higher is more readable
57.4Δ 17.0
LLOC16Logical lines; fewer is more readable
43.7Δ 3.3
DeepSeek V4 Pro9.330–20; mean of three runs
37.2Δ 3.2
GPT-6.1 Sol10.330–20; mean of three runs
12.0Δ 28.4
BTTF0.550–1; higher is more readable
60.2Δ 19.8
Human3.181–5; original rating
40.4

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.650.104−21.453
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.5.045−7.567

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

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.26−0.176
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.115−0.173
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.30−0.026
Indentation frequencyHow rapidly indentation changes from line to line.22+0.024
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.86.968−0.018
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.29.898+0.008

Intercept 0.07 + feature contributions = -1.096 (log-odds).
Score = sigmoid(-1.096) = 0.251.

Score0.538
Score16
Run 1

The code is functional but has several readability issues. Infinite loops with timeout checks are repetitive and could be extracted into helper methods. The try-catch block silently swallows exceptions without comments, hiding potential issues. Long XPath strings repeated inline reduce clarity and increase maintenance burden. Nesting is shallow but the flow is broken by empty catch blocks. Variable names like 'second' are unclear; 'elapsedSeconds' would be better. The code lacks comments explaining the purpose of waiting for the CKEditor iframe. Overall, while the structure is somewhat logical, the repeated patterns, unclear intent, and verbose selectors make it harder to read than necessary.

Run 2

The code suffers from several readability issues. The deep nesting in the loops with try-catch blocks makes it hard to follow the control flow. The empty catch block hides potential errors and obscures intent. The duplicated 'timeout' polling pattern should be extracted into a helper method to reduce repetition. Magic numbers like 90 seconds and the long XPath strings reduce clarity. However, the code does follow a sequential flow and each line performs distinct actions, which is positive. The basic structure is recognizable as polling loops, showing some logical organization. The main problems are the redundant code blocks, unclear timeout logic, and nested exception handling that interrupt the reading flow.

Run 3

The code has some structural issues that reduce readability. The infinite loops with timeout patterns are duplicated unnecessarily and lack clear intent. The empty catch block swallows exceptions silently, making debugging difficult. Long XPath strings are repeated multiple times, creating maintenance and readability problems. The action flow is somewhat disorganized - mixing frame switching, typing, and clicking operations. Nesting is moderate but could be flatter. The code lacks comments explaining the wait-and-retry pattern. While each line typically performs one action, the overall purpose is unclear, and the duplicated timeout logic increases code length unnecessarily. Better structure would include extracting the wait logic into a reusable method and assigning the long XPath to a named constant.

Run 1

Code Structure: The polling loop and subsequent UI actions are logically grouped, but duplicated timeout logic and an unfinished second loop weaken organization. Nesting: Moderate nesting within the loop and try/if blocks remains manageable. Clarity of intent: Waiting for an iframe, entering content, and opening Abstract are understandable, but opaque XPath identifiers, a hard-coded timeout, and silently ignored exceptions obscure details. Code length: The snippet is fairly short, though repeated polling could be extracted into a named helper. Action granularity: Statements generally perform one action each, with readable multiline calls. Reading flow: Actions proceed in a natural sequence, aided by spacing, but the abrupt ending and empty catch block interrupt comprehension.

Run 2

Code Structure: The polling loop and subsequent UI actions are logically ordered, but repeated timeout logic and an incomplete second loop weaken organization. Nesting: Moderate nesting inside the loop and try/if blocks adds some complexity without being excessive. Clarity of intent: Selenium operations make the interaction understandable, but opaque XPath identifiers, a hard-coded timeout, and an empty exception handler obscure details and failure behavior. Code length: Mostly concise, though duplicated polling logic could be extracted into a named helper. Action granularity: Each statement performs a distinct action; multiline method calls remain readable. Reading flow: The sequence naturally progresses from waiting to editing and clicking, but awkward line wrapping, silently ignored exceptions, and the truncated ending interrupt the flow.

Run 3

Code Structure: The wait-then-interact sequence is logical, but duplicated polling code and an unfinished second loop weaken organization. Nesting: Moderate nesting within the polling loop adds complexity without becoming extreme. Clarity of intent: Selenium calls communicate the UI actions, but long, opaque XPath identifiers, a silently swallowed exception, and unexplained timeout values obscure details. Code length: The snippet is relatively short, yet repeated timeout logic would be clearer in a reusable wait helper. Action granularity: Each statement performs one primary action, with sensible line breaks for long calls. Reading flow: Actions proceed naturally from waiting to frame selection, typing, and clicking, but the empty catch block, awkward selector wrapping, and abrupt ending interrupt readability.