Sample
Dorn/java/205
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 36.2Δ 5.0 |
| Dorn | 0.145 | 0–1; higher is more readable | 10.3Δ 20.9 |
| Mi | 0.17 | 0–1; higher is more readable | 17.3Δ 13.9 |
| LLOC | 25 | Logical lines; fewer is more readable | 21.4Δ 9.7 |
| DeepSeek V4 Pro | 5 | 0–20; mean of three runs | 10.9Δ 20.3 |
| GPT-6.1 Sol | 8.33 | 0–20; mean of three runs | 4.2Δ 27.0 |
| BTTF | 0.52 | 0–1; higher is more readable | 49.6Δ 18.4 |
| Human | 3.02 | 1–5; original rating | 31.2 |
Views
Select the downloaded ZIP or its extracted folder. Files stay in your browser.
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (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. | 1234.54 | −40.74 |
| 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.012 | −7.518 |
Intercept 8.87 + feature contributions = -19.388 (log-odds).
Score = sigmoid(-19.388) = 0.
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 0 | −0.804 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 49 | −0.699 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 48 | −0.681 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 30 | +0.301 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 49.848 | +0.287 |
| 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. | 90.961 | −0.188 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.103 | −0.063 |
Intercept 0.07 + feature contributions = -1.777 (log-odds).
Score = sigmoid(-1.777) = 0.145.
| Score | 0.17 |
|---|
| Score | 25 |
|---|
Run 1
This code is extremely difficult to read and maintain. The switch-case with a while loop creates convoluted control flow, especially with the 'label = 2; continue;' pattern that jumps between cases. The wait loop with an empty catch block and magic numbers (90 seconds, 30000ms) obscures intent. Deep nesting (while > switch > case > for > try > if) makes the logic hard to follow. Multiple actions are crammed together with no helper methods, and the repeated loadRequiredJavaScriptModules() calls suggest poor abstraction. The reading flow is disjointed - jumping from Selenium commands to timeout logic to variable checks. The assertTrue at the end of case 1 is unreachable after the continue, and the case 2 fallthrough is incomplete. This code needs complete restructuring with clear method extraction, proper error handling, and elimination of the while-switch pattern.
Run 2
The code lacks clear structure and readability. The while-loop with a switch-case and manual label manipulation creates a tangled control flow that is difficult to follow. Nesting is moderate but the switch inside while with fall-through behavior adds complexity. Intent is unclear - the purpose of the label-based loop and cases is not evident from the code itself. Code length is excessive for the operations performed, and action granularity is mixed - some lines contain multiple logical actions. The reading flow is disorganized, jumping between selenium operations, loop constructs, and exception handling. The empty catch block and hard-coded timeouts further obscure the logic. Variable naming like 'second' for loop counter and 'label' for flow control is ambiguous. The code would benefit from extraction into well-named methods and replacement of the label-based flow with clearer control structures.
Run 3
The code is highly unreadable due to several major issues. It uses a while-switch-continue pattern without a visible break, making control flow confusing and error-prone. The switch case falls through from case 1 to case 2 without a break, and the label variable is mutated inside the loop. The timeout loop uses an unusual for-loop with a break condition instead of a clearer timeout utility. The empty catch block silently swallows exceptions, hiding potential failures. The overall intent is unclear - it appears to be checking for web content and deleting it if present, but the branching logic with label manipulation makes the purpose ambiguous. Naming like 'label' is too generic for the role it plays. Multiple actions are chained together with no separation or comments, and the code is unnecessarily long for the operation being performed.
Run 1
Code Structure: Navigation, polling, and deletion are grouped sequentially, but label-based while/switch control flow obscures organization. Nesting: The polling loop contains nested try/if blocks within a switch and while, creating substantial depth. Clarity of intent: Selenium calls and selectors suggest opening the control panel and deleting web content, but numeric labels, an empty catch, and implicit case fall-through make behavior harder to interpret. Code length: Repeated page-load waits and JavaScript initialization add boilerplate that could be extracted into helpers. Action granularity: Most statements perform one action, although wrapped expressions and the long confirmation regex require extra parsing. Reading flow: The main browser interaction sequence is understandable, but label reassignment, continue, and the unfinished case 2 interrupt natural top-to-bottom reading.
Run 2
Code Structure: Navigation and deletion steps are grouped logically, but label-driven control flow and switch fall-through make the organization harder to follow. Nesting: The while/switch/for/try/if hierarchy is deep and increases cognitive load. Clarity of intent: Selenium calls reveal the broad goal, but numeric labels, opaque selectors, an empty catch block, and implicit fall-through obscure details. Code length: Repeated page-load waits and JavaScript initialization add verbosity that helper methods could reduce. Action granularity: Most statements perform one action, with readable separation between operations. Reading flow: The main browser sequence is reasonably natural, but polling, continue-based jumps, inconsistent wrapping, and the incomplete case 2 interrupt it.
Run 3
Code Structure: The UI actions form a recognizable sequence, but label-driven control flow and switch fall-through make organization harder to follow. Nesting: The while/switch/for/try/if layers create substantial nesting for a simple workflow. Clarity of intent: Selenium calls clearly describe navigation and deletion, but numeric labels, hard-coded selectors, and an empty catch obscure control flow and error handling. Code length: Repeated page waits and JavaScript loading add verbosity that helper methods could reduce. Action granularity: Most statements perform one action, which supports readability, though some calls contain nested transformations. Reading flow: Navigation proceeds naturally, but continue-based jumps, implicit fall-through, awkward wrapping, and the incomplete case 2 interrupt comprehension.