Sample

Buse/88

Human rating uses the original dataset scale.

DatasetBuse
Human3.23
Lines6

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.3570–1; higher is more readable
56.6Δ 13.1
Scalabrino0.6750–1; higher is more readable
42.4Δ 1.0
Dorn0.6710–1; higher is more readable
61.6Δ 18.2
Mi0.6350–1; higher is more readable
63.6Δ 20.2
LLOC5Logical lines; fewer is more readable
29.8Δ 13.6
DeepSeek V4 Pro13.670–20; mean of three runs
44.4Δ 1.0
GPT-6.1 Sol150–20; mean of three runs
32.8Δ 10.6
BTTF0.5770–1; higher is more readable
66.7Δ 23.2
Human3.231–5; original rating
43.4

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)
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.635−6.952
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.148.677−4.906
Source linesThe number of non-empty source lines.6+2.4

Intercept 8.87 + feature contributions = -0.588 (log-odds).
Score = sigmoid(-0.588) = 0.357.

Score0.675

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.54+1.378
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.7+0.788
Indentation frequencyHow rapidly indentation changes from line to line.1−0.703
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.5.782−0.329
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.106−0.086

Intercept 0.07 + feature contributions = 0.712 (log-odds).
Score = sigmoid(0.712) = 0.671.

Score0.635
Score5
Run 1

The code is readable but incomplete, as it ends abruptly after appending the message fragment. Structure is simple and flat with only one conditional, and intent is clear—return a formatted message about array mismatch. Nesting is minimal and action granularity is mostly one action per line. However, the missing return statement and incomplete builder usage hurt clarity and reading flow. Variable naming (builder, fMessage) is acceptable, but the incomplete snippet leaves ambiguity about the final output.

Run 2

The code is relatively short and uses a straightforward StringBuilder pattern. It demonstrates clear intent and reasonable action granularity. However, several issues reduce readability: the use of `fMessage` prefix is unusual, the missing braces on the single-statement if block makes it potentially error-prone, and the method appears incomplete or awkwardly cut off mid-statement. Without braces, the if applies only to the first append, which may be intended but isn't as explicit as it could be. The variable naming (`f` prefix) is non-standard in Java and could confuse readers unfamiliar with the convention. For a full evaluation, more surrounding context would help determine whether the structure is logical. Overall, the code is readable but has style inconsistencies that detract from clarity.

Run 3

The code is relatively simple and readable at a glance, but it suffers from incomplete context and minor style issues. The method's intent is clear: construct an error message about differing arrays. However, the code is cut off, making evaluation of length and full logical structure impossible. The if statement uses a single-line body without braces, which is acceptable for brevity but can hurt clarity if the code evolves. The variable name 'fMessage' uses an outdated prefix convention, slightly hindering clarity. Nesting is minimal and action granularity is good—one logical operation per line. However, the missing return statement and incomplete append operations leave the reading flow disjointed. With proper formatting, braces, and complete code, readability would improve significantly.

Run 1

Code Structure: The visible statements are logically organized, but the method is incomplete, with no return or closing brace. Nesting: A single conditional keeps nesting shallow, though braces would clarify its scope. Clarity of intent: Building an error message is clear from the method name and appended text; the fMessage naming convention is less descriptive. Code length: The snippet is concise without unnecessary statements. Action granularity: Each line performs one clear action. Reading flow: Initialization, optional message inclusion, and detail appending follow naturally, but inconsistent assignment spacing and the abrupt ending reduce readability.

Run 2

Code Structure: The visible statements are logically organized, but the method is incomplete, lacking a return statement and closing brace. Nesting: Minimal nesting makes it easy to follow, though braces around the conditional would improve robustness. Clarity of intent: Building a message about an array mismatch is clear, but the unfinished text and missing element index leave the final purpose only partially expressed. Code length: The fragment is concise with no unnecessary statements. Action granularity: Each line performs one action. Reading flow: The sequence is natural—initialize the builder, append an optional message, then append mismatch context—but inconsistent spacing and the abrupt ending reduce readability.

Run 3

Code Structure: The visible statements are logically organized, though the snippet ends before the method is completed. Nesting: A single shallow conditional keeps the code easy to follow, but braces would make its scope clearer. Clarity of intent: The method clearly builds an error message, although the element information and return statement are not shown. Code length: The fragment is concise, with no unnecessary statements. Action granularity: Each line performs one action. Reading flow: Initialization, optional message inclusion, and appended context form a natural sequence; inconsistent spacing around '=' and the incomplete ending slightly reduce readability.