Sample

Scalabrio79

Human rating uses the original dataset scale.

DatasetScalabrino
Human4.33
Lines28

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
64.3Δ 23.6
Scalabrino0.9090–1; higher is more readable
95.0Δ 7.0
Dorn0.5290–1; higher is more readable
61.3Δ 26.6
Mi0.2110–1; higher is more readable
49.7Δ 38.2
LLOC14Logical lines; fewer is more readable
49.2Δ 38.7
DeepSeek V4 Pro140–20; mean of three runs
49.2Δ 38.7
GPT-6.1 Sol180–20; mean of three runs
83.7Δ 4.3
BTTF0.5920–1; higher is more readable
68.3Δ 19.6
Human4.331–5; original rating
87.9

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.706.592−23.318
Source linesThe number of non-empty source lines.28+11.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.934−7.401

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

Score0.909

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.121.929−1.499
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.122+1.164
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.05+0.455
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.23−0.107
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.28+0.045
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.26.878−0.034
Indentation frequencyHow rapidly indentation changes from line to line.22+0.024

Intercept 0.07 + feature contributions = 0.117 (log-odds).
Score = sigmoid(0.117) = 0.529.

Score0.211
Score14
Run 1

The code has clear intent with helpful comments explaining the test scenario and each property type. The structure is logical, grouping related query checks together. However, there are significant readability issues: inconsistent indentation (the @Test annotation is misaligned), excessive repetition of the SyntaxChecker pattern, and multiple actions per line in some cases. The method is quite long and could be refactored to reduce duplication by extracting query strings into a collection or helper method. While individual lines are readable, the overall structure feels verbose and would benefit from a more concise approach to testing multiple similar queries.

Run 2

The code is quite readable. It has clear intent with a helpful comment explaining the bug and test scenario. The structure is logical, grouping related query checks, and the nesting is minimal. Action granularity is good — each query check is on its own line, making it easy to scan. The use of a small helper class 'SyntaxChecker' abstracts repeated logic well, keeping the test concise. One minor issue is the repetitive 'new SyntaxChecker(...)' pattern, which could be reduced with a helper method or list, but this does not greatly harm readability. Overall, it is easy to follow and understand.

Run 3

The code has a clear purpose with explanatory comments and method names that convey intent. However, readability is reduced by repetitive SyntaxChecker instantiations that could be extracted into a helper method or loop. Multiple assertions are placed on single lines, violating the one-action-per-line principle. While the structure is flat and not deeply nested, the long strings and repeated patterns make scanning somewhat tedious. The comments help, but the lack of abstraction increases verbosity and reduces clarity.

Run 1

Code Structure: A single focused test logically groups related query checks with blank lines, though named groups could better distinguish scenarios. Nesting: Completely flat, with no nested control flow. Clarity of intent: The descriptive method name, issue annotation, and comments explain the inheritance-property regression being tested; the reason for the separate checkIterate call is less clear. Code length: Reasonably concise for its coverage, although repeated query construction adds some visual bulk. Action granularity: Each statement performs one query check; constructor-method chaining remains easy to follow. Reading flow: Consistent formatting and progression through class, superclass, and subclass properties make scanning straightforward, though long query lines and the transition to DomesticAnimal checks slightly weaken the flow.

Run 2

Code Structure: A single focused test with whitespace grouping related query cases; the final DomesticAnimal cases could use a clarifying comment. Nesting: Completely flat, making execution easy to follow. Clarity of intent: The descriptive method name, issue annotation, and property-inheritance comments clearly explain the regression being tested, though checkIterate versus checkAll is not explained. Code length: Reasonably concise for its coverage, but repeated query strings add some verbosity. Action granularity: Each line expresses one logical syntax-check operation, despite combining construction and invocation. Reading flow: Consistent formatting and progression through property types support natural scanning; long query lines and the initial standalone checkIterate slightly interrupt that flow.

Run 3

Code Structure: A single focused test organizes related query checks into visually separated groups. Nesting: The method is entirely flat, making execution easy to follow. Clarity of intent: The descriptive method name, issue annotation, and inheritance-property comments explain the purpose well, although the distinction between checkIterate() and checkAll() is not explained. Code length: Reasonably concise for its coverage, but repeated query strings add some verbosity and several lines are long. Action granularity: Each line represents one complete syntax-check operation; constructor/method chaining remains straightforward. Reading flow: Consistent formatting and grouping support natural top-to-bottom reading, though the initial subclass check and final DomesticAnimal cases could benefit from brief explanatory comments.