Sample

Scalabrio75

Human rating uses the original dataset scale.

DatasetScalabrino
Human3.89
Lines39

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0210–1; higher is more readable
83.4Δ 17.3
Scalabrino0.6390–1; higher is more readable
64.3Δ 1.8
Dorn0.6530–1; higher is more readable
72.4Δ 6.3
Mi0.0470–1; higher is more readable
21.6Δ 44.5
LLOC17Logical lines; fewer is more readable
35.7Δ 30.4
DeepSeek V4 Pro15.670–20; mean of three runs
72.9Δ 6.8
GPT-6.1 Sol170–20; mean of three runs
58.5Δ 7.5
BTTF0.6140–1; higher is more readable
74.9Δ 8.8
Human3.891–5; original rating
66.1

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.642.906−21.216
Source linesThe number of non-empty source lines.39+15.6
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.736−7.104

Intercept 8.87 + feature contributions = -3.85 (log-odds).
Score = sigmoid(-3.85) = 0.021.

Score0.639

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.118.846−1.369
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.118.974+1.115
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.39−0.345
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.062+0.342
Indentation frequencyHow rapidly indentation changes from line to line.30+0.301
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.37.808+0.119

Intercept 0.07 + feature contributions = 0.631 (log-odds).
Score = sigmoid(0.631) = 0.653.

Score0.047
Score17
Run 1

The code is generally readable with clear intent and logical structure. It uses a straightforward test setup, executes actions in sequence, and includes helpful comments explaining non-obvious behavior. Nesting is minimal, limited to a single try-catch block. Action granularity is mostly one action per line. However, readability is slightly reduced by the long method name and the need for a try-catch that interrupts the flow. The comments, while informative, could be more concise. Overall, the code is well-organized and easy to follow for a developer familiar with the framework.

Run 2

The code is well-structured and readable. It follows a clear test setup—prepare, act, assert, cleanup—with logical grouping and meaningful variable names. Comments explain non-obvious behavior (e.g., why scroll/iterate hold resources, why sr.next() is needed), which improves clarity without being excessive. Nesting is minimal: only a try-catch block for expected behavior. Each line performs a single action, and the reading flow is natural. The method is moderately long, but the length is justified by the test scenario. Minor area for improvement: the inline comment about SybaseASE15Dialect could be extracted or shortened, but it is informative. Overall, the code demonstrates high readability.

Run 3

The test method is logically structured with clear setup (prepare, save, flush), action (scroll, serialize attempt), and teardown (delete, flush, release, done) phases. The comments explain the intent behind aggressive release and resource holding, which aids clarity. However, several issues reduce readability: the method name is excessively long, there is procedural repetition (s.flush(), s.delete(), s.flush()), and the try/catch block adds nesting that could be flattened. The action granularity is mostly one statement per line, but some lines are dense (e.g., combined query creation and scrolling). The reading flow is natural in some parts but interrupted by comments explaining workarounds and dialect-specific behavior. The serialization failure assertion is clear, but the use of fail() and catch is wordy. Overall, the test is understandable but verbose.

Run 1

Code Structure: The test is logically organized into setup, resource opening, expected serialization failure, resource closing, successful serialization, and cleanup. Nesting: Only a single try/catch adds nesting, keeping the code mostly flat. Clarity of intent: The descriptive test name and explanatory comments make the expected behavior clear, although abbreviations such as s, sr, and CM reduce immediate clarity. Code length: The implementation is appropriately concise; lengthy comments explain important connection-management behavior and a database-specific workaround. Action granularity: Each statement performs one primary action, with a short query-building chain that remains easy to follow. Reading flow: Execution follows a natural chronological sequence, supported by whitespace separating phases. Cleanup is not protected by finally, making the resource lifecycle less explicit on unexpected failure paths.

Run 2

Code Structure: Logically organized into setup, resource creation, expected serialization failure, resource closure, successful serialization, and cleanup. Nesting: Minimal, with only one straightforward try/catch. Clarity of intent: The descriptive test name and explanatory comments clearly communicate the expected behavior, though abbreviations such as s, sr, and CM reduce clarity. Code length: Appropriately concise for the scenario; the long test name and failure message are justified but slightly cumbersome. Action granularity: Generally one action per line, with a query-creation chain that remains easy to follow. Reading flow: Sequential execution and whitespace make the test natural to read. Manual cleanup rather than a finally block slightly weakens the structural clarity of resource management.

Run 3

Code Structure: The test logically progresses through setup, resource creation, expected serialization failure, resource closure, successful serialization, and cleanup. Nesting: Only a shallow try/catch interrupts an otherwise flat method. Clarity of intent: The descriptive test name and explanatory comments make the expected behavior clear, though abbreviations such as s, sr, and CM require interpretation. Code length: The method is reasonably concise for the scenario; the long name and failure message add some visual weight. Action granularity: Each statement performs one principal action, with no compressed multi-statement lines. Reading flow: Execution follows a natural chronological sequence, and comments explain the connection-release behavior and database-specific workaround. Manual cleanup rather than a finally block makes the lifecycle slightly less explicit when unexpected failures occur.