Sample
Scalabrio175
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 52.3Δ 21.1 |
| Scalabrino | 0.875 | 0–1; higher is more readable | 92.0Δ 18.6 |
| Dorn | 0.66 | 0–1; higher is more readable | 73.9Δ 0.5 |
| Mi | 0.484 | 0–1; higher is more readable | 75.9Δ 2.5 |
| LLOC | 18 | Logical lines; fewer is more readable | 31.2Δ 42.2 |
| DeepSeek V4 Pro | 13.67 | 0–20; mean of three runs | 43.2Δ 30.2 |
| GPT-6.1 Sol | 16.67 | 0–20; mean of three runs | 45.2Δ 28.1 |
| BTTF | 0.595 | 0–1; higher is more readable | 69.3Δ 4.0 |
| Human | 4 | 1–5; original rating | 73.4 |
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. | 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.
| Score | 0.875 |
|---|
Feature contributions
| Feature | Value | Contribution (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.
| Score | 0.484 |
|---|
| Score | 18 |
|---|
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.