Sample

Scalabrio115

Human rating uses the original dataset scale.

DatasetScalabrino
Human3.33
Lines16

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.5740–1; higher is more readable
93.5Δ 58.5
Scalabrino0.8270–1; higher is more readable
87.4Δ 52.5
Dorn0.3560–1; higher is more readable
42.2Δ 7.3
Mi0.660–1; higher is more readable
87.9Δ 53.0
LLOC6Logical lines; fewer is more readable
86.9Δ 52.0
DeepSeek V4 Pro70–20; mean of three runs
7.8Δ 27.1
GPT-6.1 Sol10.670–20; mean of three runs
0.5Δ 34.4
BTTF0.6340–1; higher is more readable
77.4Δ 42.5
Human3.331–5; original rating
34.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.237.744−7.846
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.751−7.127
Source linesThe number of non-empty source lines.16+6.4

Intercept 8.87 + feature contributions = 0.298 (log-odds).
Score = sigmoid(0.298) = 0.574.

Score0.827

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.16+0.47
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.76.188+0.438
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.142−0.433
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.14.915−0.201
Indentation frequencyHow rapidly indentation changes from line to line.16−0.184
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.16+0.054

Intercept 0.07 + feature contributions = -0.591 (log-odds).
Score = sigmoid(-0.591) = 0.356.

Score0.66
Score6
Run 1

This code scores very low on readability. The structure is tangled, using a labeled do-while loop with an artificial `_loop119` label and empty block braces, which obscures purpose. Nesting is deep despite the short method, with multiple unnecessary levels. The intent is ambiguous: the method name `caseSList` and the token-set check do not clearly explain what is being parsed. The code length is unnecessarily long for a simple loop, and action granularity is poor—multiple empty statements and redundant control flow. Reading flow is unnatural due to the manual loop construct, which could be replaced with a simple `while` loop or recursive call.

Run 2

The code is relatively short and each action appears on its own line, but readability is undermined by several issues. The method name 'caseSList' is cryptic and does not clearly convey its purpose. The use of an infinite loop with a labeled break ('_loop119') creates an awkward control flow that is more difficult to follow than a standard while loop. The unnecessary outer braces add nesting without purpose. The conditional check relies on opaque token set and lookahead calls that hide intent. Overall, the structure feels tangled and the purpose is ambiguous despite the code being concise.

Run 3

The code suffers from poor readability due to unnecessary nesting and obsolete constructs. The labeled do-while loop with a break statement is convoluted and difficult to follow. The intent—parsing a list of statements—is obscured by the loop mechanics. While the code is concise and actions are mostly one per line, the overall structure is messy with excessive braces and a non-standard loop pattern that disrupts reading flow. The method signature is clear, but the implementation requires mental effort to understand the control flow.

Run 1

Code Structure: The statement-processing loop is logically organized, but an extra block and generated-style label add clutter. Nesting: Several nested levels are excessive for a simple repetition. Clarity of intent: Calling statement() while the next token belongs to a set is understandable, but caseSList, _loop119, _tokenSet_6, and LA(1) require parser-specific context. Code length: Short overall, though a direct while loop could eliminate the conditional, labeled break, and redundant braces. Action granularity: Each statement performs one action, making individual lines easy to follow. Reading flow: Irregular whitespace and the do-while(true) structure interrupt an otherwise straightforward flow.

Run 2

Code Structure: The statement-processing loop is logically organized, but an extra enclosing block and labeled break add clutter. Nesting: Several nested blocks make a simple repetition harder to follow. Clarity of intent: Calling statement() while lookahead belongs to a token set is understandable, but caseSList, _loop119, and _tokenSet_6 obscure the domain meaning. Code length: Unnecessary braces, blank lines, and the do-while(true) pattern make the method longer than a straightforward while loop. Action granularity: Each line performs one action, supporting readability. Reading flow: The condition, action, and exit are coherent, but the label and separated termination logic interrupt an otherwise simple flow.

Run 3

Code Structure: The statement-processing loop is logically organized, but the redundant block and labeled loop add clutter. Nesting: Several layers surround a simple operation, making the code more nested than necessary. Clarity of intent: Repeatedly parsing statements while the next token belongs to a set is discernible, but caseSList, _loop119, _tokenSet_6, and LA(1) are opaque without parser context. Code length: The implementation is short, yet extra braces, blank lines, and the explicit break branch make it unnecessarily verbose. Action granularity: Each statement performs one action, supporting readability. Reading flow: The condition, statement call, and exit are easy to follow, but a direct while loop would communicate the same behavior more naturally.