Sample
Dorn/java/152
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 29.2Δ 21.7 |
| Scalabrino | 0.338 | 0–1; higher is more readable | 24.8Δ 17.3 |
| Dorn | 0.178 | 0–1; higher is more readable | 14.5Δ 7.0 |
| Mi | 0.147 | 0–1; higher is more readable | 15.0Δ 7.5 |
| LLOC | 29 | Logical lines; fewer is more readable | 13.5Δ 6.0 |
| DeepSeek V4 Pro | 6.33 | 0–20; mean of three runs | 18.1Δ 10.6 |
| GPT-6.1 Sol | 9 | 0–20; mean of three runs | 6.4Δ 1.1 |
| BTTF | 0.582 | 0–1; higher is more readable | 69.4Δ 61.8 |
| Human | 2.27 | 1–5; original rating | 7.5 |
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. | 1356.488 | −44.764 |
| 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.124 | −7.686 |
Intercept 8.87 + feature contributions = -23.58 (log-odds).
Score = sigmoid(-23.58) = 0.
| Score | 0.338 |
|---|
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. | 51 | −0.769 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 1 | −0.703 |
| 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. | 70.961 | +0.66 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 35 | −0.382 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 49.556 | +0.283 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.085 | +0.119 |
Intercept 0.07 + feature contributions = -1.528 (log-odds).
Score = sigmoid(-1.528) = 0.178.
| Score | 0.147 |
|---|
| Score | 29 |
|---|
Run 1
The code suffers from multiple readability issues. The structure is disorganized with a switch case appearing mid-block without clear context, suggesting broken or incomplete logic. Nesting is shallow but the flat, repetitive sequence of selenium calls obscures the overall flow. Intent is ambiguous because variable names like 'label' and 'suborganization2Present' lack clear business context, and the purpose of each action block is unclear. Code length is excessive due to heavy repetition of waitForPageToLoad and loadRequiredJavaScriptModules calls that could be extracted into helper methods. Action granularity is mixed - some lines contain single operations while others chain multiple method calls. Reading flow is poor as the code jumps between UI interactions, assertions, and variable assignments without logical grouping or comments. The use of string literals for XPath selectors throughout creates visual noise. Overall, this appears to be a UI test with maintainability challenges, inconsistent naming conventions, and minimal abstraction of repeated actions.
Run 2
The code has multiple readability issues. The structure is tangled, jumping between a boolean check and a switch case with no clear separation. Nesting is moderate but the switch case adds confusion. Intent is unclear due to hardcoded locators, magic numbers, and repeated Selenium calls without abstraction. Length is verbose with many duplicated waitForPageToLoad and loadRequiredJavaScriptModules calls. Action granularity is inconsistent—some lines combine actions while others are split. The reading flow is disorganized, especially with the abrupt `case 3:` appearing after a conditional continue, making it hard to follow execution paths. Naming like `suborganization2Present` and `organization3Present` lacks context. Overall, the code functions but requires significant mental effort to understand.
Run 3
The code suffers from poor readability due to several factors. The structure is tangled, with a switch-like case 3 appearing abruptly after an if block, suggesting missing context or broken flow. Nesting is shallow but the logic is hard to follow because intent is unclear—variable names like label are ambiguous. Code length is verbose, with repetitive selenium.waitForPageToLoad and loadRequiredJavaScriptModules calls after every action, bloating each step. Action granularity is moderate but muddled by RuntimeVariables.replace wrapping every selector. Reading flow is disorganized; the transition into case 3 mid-snippet feels disconnected. Deeply repeated XPath strings and confirmation regex add noise. Overall, the code is functional but difficult to maintain or understand without extensive surrounding context.
Run 1
Code Structure: Selenium operations form recognizable sequences, but label assignments, continue, and a case boundary make control flow difficult to follow without surrounding context. Nesting: Visible nesting is shallow, though the incomplete enclosing structure limits assessment. Clarity of intent: API calls clearly express UI actions, but numeric labels, generic presence-variable names, and positional XPath selectors obscure their purpose. Code length: Repeated search, deletion, page-wait, and module-loading sequences add bulk and could be extracted into named helpers. Action granularity: Most statements perform one action, making individual steps easy to inspect. Reading flow: Operations generally follow a natural interaction sequence, but inconsistent indentation, awkward line wrapping, abrupt case transitions, and the unfinished conditional interrupt readability.
Run 2
Code Structure: Sequential Selenium operations are recognizable, but repeated interaction blocks and label-based control flow obscure organization. Nesting: Visible nesting is shallow, although the incomplete surrounding switch and loop context makes scope harder to follow. Clarity of intent: Click, search, and delete operations communicate basic intent, but numeric labels, generic variable names, and hard-coded XPath selectors obscure the broader purpose. Code length: Repeated page waits, JavaScript loading, and deletion sequences make the snippet longer than necessary; helper methods would improve concision. Action granularity: Most statements perform one action, with reasonable multiline formatting for calls. Reading flow: Individual operations follow a natural sequence, but the abrupt case transition, continue statement, inconsistent indentation, and truncated ending interrupt comprehension.
Run 3
Code Structure: Selenium operations form recognizable test sequences, but repeated search/delete/wait blocks lack helper methods, and the partial switch-style structure obscures organization. Nesting: Visible nesting is shallow, although surrounding control structures are missing. Clarity of intent: API calls communicate individual actions, but numeric labels, positional XPath selectors, and names such as organization3Present provide limited context. Code length: Repeated page waits, JavaScript loading, and deletion sequences make the snippet unnecessarily verbose. Action granularity: Most statements perform one action, supporting readability; multiline calls are generally understandable. Reading flow: Sequential browser actions are easy to follow locally, but label assignments, continue, an apparent case transition, inconsistent indentation, and the truncated ending interrupt the overall flow.