Sample

Scalabrio175

Human rating uses the original dataset scale.

DatasetScalabrino
Human4
Lines38

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
52.3Δ 21.1
Scalabrino0.8750–1; higher is more readable
92.0Δ 18.6
Dorn0.660–1; higher is more readable
73.9Δ 0.5
Mi0.4840–1; higher is more readable
75.9Δ 2.5
LLOC18Logical lines; fewer is more readable
31.2Δ 42.2
DeepSeek V4 Pro13.670–20; mean of three runs
43.2Δ 30.2
GPT-6.1 Sol16.670–20; mean of three runs
45.2Δ 28.1
BTTF0.5950–1; higher is more readable
69.3Δ 4.0
Human41–5; original rating
73.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.933.482−30.805
Source linesThe number of non-empty source lines.38+15.2
Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value.4.805−7.208

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

Score0.875

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.79.526+0.479
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.38−0.309
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.074+0.222
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.26−0.176
Indentation frequencyHow rapidly indentation changes from line to line.26+0.162
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.83.921+0.111
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.36.8+0.105

Intercept 0.07 + feature contributions = 0.663 (log-odds).
Score = sigmoid(0.663) = 0.66.

Score0.484
Score18
Run 1

The code has clear intent with a descriptive method name and explanatory comments about the bug scenario. The test flow is logical: clean statistics, create test data, then verify no overflow on retrieval. However, there are several readability issues. The method name is excessively long despite acknowledging this in the comment. The comment block is verbose and could be condensed. There's a cast to Customer `( Customer )` with unusual spacing. The mutable session variable and reuse across transaction boundaries adds complexity. The try-catch block could be more granular, and the test lacks clear assertion structure. The action granularity is generally acceptable, but the overall structure could better separate setup, test, and verification phases with blank lines. The variable 'cust' is reassigned after reassignment of 's', making the reading flow somewhat disjointed. The test method name attempts to describe the issue rather than the expected behavior.

Run 2

The code has a clear purpose and is logically organized into setup, testing, and cleanup phases. Comments explain the complex scenario being tested. However, readability suffers from several issues: the test name is extremely long, session management is verbose and repetitive, and the try-catch block could be simplified. The action granularity is acceptable but could be improved with helper methods for session handling. Variable reuse ('s' and 'cust') slightly reduces clarity. Overall, the code is understandable but not optimal in terms of conciseness and flow.

Run 3

The code has a clear narrative flow and a detailed explanatory comment that helps clarify intent. The method name is descriptive, and the setup/assert/teardown structure is logical. However, the large comment block is overly verbose and disrupts the reading flow. Action granularity is mostly good, but some lines, such as `Order order = new Order( new Order.Id( cust, 1 ) );`, combine multiple actions. The try/catch adds mild nesting and could be simplified with a helper assertion method. Overall, it is readable but could benefit from a more concise comment and slight refactoring.

Run 1

Code Structure: Logically organized into setup, persistence, retrieval, and cleanup, though explicit phase separation would help. Nesting: Mostly flat, with only a simple try/catch. Clarity of intent: The descriptive test name, issue annotation, and explanatory comments clearly identify the eager-fetching regression; abbreviated variables and the absence of an explicit success assertion slightly weaken clarity. Code length: Reasonably concise, but the unusually long method name and extensive comment add reading overhead. Action granularity: Each statement performs a distinct action, making execution easy to follow. Reading flow: The lifecycle proceeds naturally, although reusing the session and customer variables and repeating transaction-management statements introduce minor friction.

Run 2

Code Structure: Logically organized into setup, persistence, reload, and cleanup, though phase labels would help. Nesting: Mostly flat, with only a simple try/catch. Clarity of intent: The descriptive test name, issue annotation, and explanatory comments clearly identify the eager-fetching regression; abbreviated variables and the absence of explicit assertions slightly reduce clarity. Code length: The executable code is concise, but the lengthy method name and comment block slow scanning. Action granularity: Each statement performs a distinct operation on its own line, although chained calls require some interpretation. Reading flow: Operations follow a natural chronological sequence, with blank lines separating sessions; reusing session and customer variables makes state transitions slightly less explicit.

Run 3

Code Structure: Logically organized into setup, persistence, reload, and cleanup, though explicit phase labels would help. Nesting: Very shallow, with only a simple try/catch. Clarity of intent: The descriptive test name, issue annotation, and comments explain the regression clearly; abbreviated variables and the absence of an explicit success assertion slightly weaken clarity. Code length: The executable code is concise, but the lengthy comment and method name make it more verbose than necessary. Action granularity: Each statement performs a focused action on its own line; chained calls remain understandable. Reading flow: Operations follow a natural lifecycle, although reusing the session and customer variables across phases requires some tracking.