Sample

Scalabrio89

Human rating uses the original dataset scale.

DatasetScalabrino
Human2.89
Lines26

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
45.2Δ 33.4
Scalabrino0.190–1; higher is more readable
14.1Δ 2.3
Dorn0.0080–1; higher is more readable
3.0Δ 8.8
Mi00–1; higher is more readable
0.0Δ 11.8
LLOC14Logical lines; fewer is more readable
49.2Δ 37.4
DeepSeek V4 Pro7.670–20; mean of three runs
9.5Δ 2.3
GPT-6.1 Sol14.670–20; mean of three runs
13.8Δ 2.0
BTTF0.1290–1; higher is more readable
1.5Δ 10.3
Human2.891–5; original rating
11.8

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.862.591−28.466
Source linesThe number of non-empty source lines.26+10.4
Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value.5.024−7.536

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

Score0.19

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.304−9.211
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.303.962+4.1
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.072+0.243
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.26+0.116
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.24.882−0.062
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.21−0.061
Indentation frequencyHow rapidly indentation changes from line to line.20−0.045

Intercept 0.07 + feature contributions = -4.851 (log-odds).
Score = sigmoid(-4.851) = 0.008.

Score0
Score14
Run 1

The code suffers from poor readability due to deeply nested and lengthy conditional checks for dialect types. The conditions are repetitive and hard to parse quickly. Clarity of intent is diminished by multiple clauses spread across lines with inconsistent spacing. While individual method calls are simple, the overall structure is tangled and the reading flow is interrupted by verbose conditionals. Action granularity is mostly one action per line, but the long if statements undermine conciseness and maintainability.

Run 2

The code is difficult to read due to deeply nested and verbose conditional checks using repeated instanceof calls with inconsistent spacing. This obscures the intent and makes the reading flow choppy. The method body mixes multiple responsibilities: translation assertions and dialect-specific skips. Some lines are extremely long, reducing clarity. However, the purpose of each assertion is somewhat clear from method names, and comments help explain non-obvious dialect behavior. Overall, the lack of abstraction and heavy conditionals hurt readability.

Run 3

The code has some readability strengths: clear action granularity (one assertion per line), a natural test flow, and helpful comments explaining dialect-specific behavior. However, it suffers from significant structural issues. The method is overly long and mixes multiple concerns (various dialect checks and assertions) without extraction into helper methods or clear logical grouping. The if-conditions are deeply nested and repetitive, making them hard to parse—especially the long boolean chains with inconsistent spacing and parentheses. Clarity of intent is reduced because the purpose of each dialect guard is only partially explained. Code length is excessive for the task, and reading flow is disrupted by the sprawling conditional blocks. Overall, the code is understandable but verbose and tangled, warranting a below-average readability score.

Run 1

Code Structure: Assertions are logically grouped within one test, but dialect-specific exclusions interrupt the organization. Nesting: Shallow, with only single-level conditionals; early returns avoid deeper nesting. Clarity of intent: The method name and query assertions convey the test's purpose, and comments explain some exceptions, but several dialect exclusions lack explanations. Code length: Reasonably short overall, though repeated getDialect() calls and lengthy instanceof chains add unnecessary verbosity. Action granularity: Each assertion and return occupies its own line, making individual actions easy to identify; however, conditions pack many checks onto single lines. Reading flow: The initial assertions flow naturally, but long conditions, inconsistent spacing, and early exits make later coverage harder to follow. Named dialect predicates and a cached dialect variable would improve readability.

Run 2

Code Structure: Related translation assertions are grouped in one focused test, but dialect exclusions mix compatibility logic with test cases. Nesting: Shallow conditionals and early returns avoid deep nesting. Clarity of intent: The method name and assertions clearly communicate parameter-expression testing; comments explain some dialect exceptions, though others remain unexplained. Code length: Reasonably compact overall, but repeated getDialect() calls and lengthy instanceof chains add unnecessary verbosity. Action granularity: Each assertion and return performs one action per line, although conditional lines contain many checks. Reading flow: The progression from basic expressions to dialect-specific cases is understandable, but long conditions, inconsistent spacing, and scattered exclusions interrupt scanning. Extracting named dialect predicates would improve readability.

Run 3

Code Structure: Assertions are logically grouped, but dialect-specific exclusions mix compatibility handling with test cases. Nesting: Shallow conditionals and early returns keep nesting minimal. Clarity of intent: The descriptive method name, assertions, and explanatory comments communicate the test purpose, though lengthy dialect checks and the HANA comment require interpretation. Code length: The method is reasonably compact, but repeated getDialect() calls and exclusion lists add avoidable verbosity. Action granularity: Each assertion and return occupies its own line; compound conditions are checks rather than multiple actions, but their length reduces scanability. Reading flow: The initial assertions read naturally, while long single-line conditions, inconsistent spacing, and successive dialect exceptions interrupt the flow.