Sample

Dorn/java/114

Human rating uses the original dataset scale.

DatasetDorn
Human3.46
Lines10

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0390–1; higher is more readable
71.3Δ 11.1
Scalabrino0.6870–1; higher is more readable
72.9Δ 12.7
Dorn0.6150–1; higher is more readable
52.9Δ 7.2
Mi0.6780–1; higher is more readable
77.7Δ 17.5
LLOC7Logical lines; fewer is more readable
67.7Δ 7.5
DeepSeek V4 Pro7.330–20; mean of three runs
24.8Δ 35.4
GPT-6.1 Sol8.670–20; mean of three runs
5.0Δ 55.2
BTTF0.350–1; higher is more readable
19.8Δ 40.4
Human3.461–5; original rating
60.2

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.260−8.58
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−7.5
Source linesThe number of non-empty source lines.10+4

Intercept 8.87 + feature contributions = -3.21 (log-odds).
Score = sigmoid(-3.21) = 0.039.

Score0.687

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.60+1.124
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.10+0.682
Indentation frequencyHow rapidly indentation changes from line to line.10−0.391
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.9.885−0.272
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.10+0.191
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.111−0.134

Intercept 0.07 + feature contributions = 0.467 (log-odds).
Score = sigmoid(0.467) = 0.615.

Score0.678
Score7
Run 1

The code snippet is incomplete and confusing. The class declaration appears after a stray comment block, which disrupts structure. While the nesting is minimal (a for loop with an if inside), the infinite loop with a timeout counter is not immediately clear: a common pattern in Selenium tests but poorly expressed as 'for (int second = 0;; second++)'. The intent of the loop—waiting for a condition—is ambiguous without a comment or a helper method. Action granularity is acceptable since each line performs one action. However, reading flow suffers due to the abrupt start and lack of surrounding context. The fragment is short, but the missing code makes it impossible to judge overall logic or whether the class is well-organized. The 'loadRequiredJavaScriptModules()' call suggests side effects that aren't explained. Overall, the code is functional but not highly readable, with unclear intent and an unnatural structure.

Run 2

The code snippet is incomplete and lacks context, making full evaluation difficult. However, several issues are apparent. The class name 'AddAddress1MyAccountTest' suggests a test, but the method 'testAddAddress1MyAccount' is generic and does not clearly describe the specific scenario being tested. The 'for' loop with an empty condition and a hardcoded timeout of 90 seconds is a common but poorly structured pattern for waiting; it mixes timeout logic with test flow and uses an infinite loop with a break condition that is not explicit. The action granularity is reasonable, with one main action per line ('selenium.open', 'loadRequiredJavaScriptModules'), but the missing closing braces and incomplete code disrupt reading flow. The structure is somewhat disorganized due to the abrupt start and lack of encapsulation of the wait logic into a helper method. Overall, the code is functional but not highly readable, scoring low due to unclear intent, awkward loop structure, and incomplete presentation.

Run 3

The code snippet shows a test class with unclear structure and incomplete logic. The class name 'AddAddress1MyAccountTest' is verbose but not descriptive of the test scenario. The method 'testAddAddress1MyAccount' lacks clarity about what specific behavior is being tested. The infinite for-loop with a timeout pattern is a common but convoluted way to wait for conditions - it's nested with an if-check that breaks the flow. The loop variable 'second' is poorly named and the 90-second hardcoded timeout is a magic number. The code abruptly ends mid-loop, suggesting incomplete code. Missing closing braces make it difficult to assess the full structure. While selenium.open and loadRequiredJavaScriptModules are clear actions, the overall reading flow is disrupted by the artificial timeout loop pattern. Better approaches would use explicit waits or helper methods for clarity.

Run 1

Code Structure: The class and test method provide basic organization, but the fragment starts with an unmatched comment terminator and ends without closing braces. Nesting: Class, method, loop, and conditional create moderate nesting. Clarity of intent: Names suggest an account-address test, but the visible code only opens a page, loads modules, and checks a timeout; no address action is shown. Code length: The excerpt is short, though incomplete. Action granularity: Each statement performs one action, making individual lines easy to read. Reading flow: Setup followed by a waiting loop is understandable, but the loop has no visible exit condition, delay, or success check, and the abrupt ending interrupts comprehension.

Run 2

Code Structure: The class and test method provide logical organization, but the fragment begins with a stray comment terminator and ends with unclosed blocks. Nesting: The method, loop, and conditional introduce moderate nesting. Clarity of intent: Opening the home page and loading JavaScript modules are clear, but the test name is awkward and the loop's purpose is unclear without its remaining body. Code length: The visible code is concise, though incomplete. Action granularity: Each statement performs a single action, making individual lines easy to understand. Reading flow: Indentation and spacing support sequential reading, but the abrupt boundaries and unexplained timeout value interrupt comprehension.

Run 3

Code Structure: The class and test method provide logical organization, but the snippet starts with a stray comment terminator and ends without closing braces. Nesting: Class, method, loop, and conditional create moderate nesting. Clarity of intent: Opening a page and loading JavaScript are clear, but the unfinished loop lacks a visible success condition or exit; the address-test naming is not supported by the shown actions. Code length: Short and mostly concise, though incomplete rather than fully economical. Action granularity: Each statement performs one action, making individual operations easy to follow. Reading flow: Consistent indentation and blank lines aid scanning, but the abrupt boundaries and missing loop body prevent a coherent understanding of the test.