Sample

Scalabrio17

Human rating uses the original dataset scale.

DatasetScalabrino
Human3.67
Lines40

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
30.7Δ 22.4
Scalabrino0.8140–1; higher is more readable
85.4Δ 32.4
Dorn0.3880–1; higher is more readable
44.7Δ 8.3
Mi0.0160–1; higher is more readable
8.5Δ 44.5
LLOC21Logical lines; fewer is more readable
23.1Δ 29.9
DeepSeek V4 Pro140–20; mean of three runs
49.2Δ 3.8
GPT-6.1 Sol150–20; mean of three runs
19.6Δ 33.4
BTTF0.6420–1; higher is more readable
79.9Δ 26.9
Human3.671–5; original rating
53.0

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.1302.838−42.994
Source linesThe number of non-empty source lines.40+16
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.164−6.245

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

Score0.814

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.113−1.121
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.101.85+0.839
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.40−0.38
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.30−0.268
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.078+0.189
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.38.044+0.122
Indentation frequencyHow rapidly indentation changes from line to line.24+0.093

Intercept 0.07 + feature contributions = -0.456 (log-odds).
Score = sigmoid(-0.456) = 0.388.

Score0.016
Score21
Run 1

The code is moderately readable. It has a clear logical flow with test sections separated by comment dividers, and each action generally occupies its own line. However, there are several issues: unnecessary casts like ((Session)session) add noise and suggest type confusion, while the repeated pattern of generating and asserting values is verbose and could be extracted into a helper method or loop to reduce length. Comments contain excessive dashes, making them visually distracting. A comment about historical hilo behavior is valuable but buried within inconsistent formatting. The test's intent is understandable but would benefit from better naming, reduced repetition, and aligned formatting to improve natural reading flow.

Run 2

The code is generally readable but has several issues. The repetitive generate/assert pattern is clear but verbose, making the test longer than necessary. Each assertion pair is separated by long comment dividers that add noise rather than clarity. Variable naming is adequate, though 'generatedValue' is redeclared repeatedly instead of reusing a single variable. The cast syntax `(Long)` and redundant parentheses around `session` in `extractSequenceValue( (session) )` are minor style inconsistencies. The test follows a logical sequence and has flat nesting, which is good. Action granularity is mostly one action per line. The reading flow is natural for a test, but the repetitive blocks could be condensed into a loop or helper method for better maintainability. The initial comment about the historical hilo behavior is helpful context, but the oversized decorative comment separators (lines of tildes) add visual clutter without proportional value.

Run 3

The test method has a clear, linear flow with logical grouping via comment separators, which aids readability. Assertions are concise and one action per line. However, there is unnecessary casting (e.g., `(Session)session` when `session` is already `SessionImpl`), redundant variable reassignment, and repetitive blocks that could be condensed. The code is not deeply nested, but it is longer than needed and lacks helper methods for repeated assertion patterns.

Run 1

Code Structure: Logically organized into setup, initial-state verification, successive generation checks, and cleanup. Nesting: Flat, with no nested control flow. Clarity of intent: The assertions clearly test generated IDs and sequence values, but the historical comment suggesting the first ID is 4 conflicts with the assertion expecting 1 and obscures expectations. Code length: Repeated assertion blocks, oversized separator comments, redundant parentheses, and repeated casts add unnecessary verbosity. Action granularity: Each statement performs one clear action. Reading flow: Execution follows a natural chronological progression, though repetitive blocks and visually dominant separators interrupt scanning.

Run 2

Code Structure: Clearly organized into setup, sequential generation checks, and cleanup. Nesting: Flat, with no nested control flow. Clarity of intent: The test name and assertions convey its purpose, but the comment claiming the first ID should be 4 contradicts the assertion expecting 1, creating confusion. Code length: Repeated assertion blocks and oversized separator comments add unnecessary length, although explicit test steps are easy to inspect. Action granularity: Each line generally performs one action, keeping operations distinct. Reading flow: Execution follows a natural chronological sequence, but redundant casts, extra parentheses, inconsistent spacing, and visual clutter interrupt readability.

Run 3

Code Structure: Clearly organized into setup, sequential generation/assertion blocks, and cleanup. Nesting: Completely flat, making execution easy to follow. Clarity of intent: The test name and assertions communicate its purpose, but the comment claiming the first ID should be 4 contradicts the assertion expecting 1. Code length: Repeated blocks and oversized separator comments add unnecessary length, although explicit assertions aid debugging. Action granularity: Each statement performs a single primary action. Reading flow: The chronological progression is natural, but redundant casts, extra parentheses, inconsistent spacing, and decorative comments introduce visual noise.