Sample

Buse/53

Human rating uses the original dataset scale.

DatasetBuse
Human2.73
Lines6

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0180–1; higher is more readable
20.2Δ 1.5
Dorn0.7230–1; higher is more readable
67.7Δ 46.0
Mi0.3630–1; higher is more readable
26.3Δ 4.5
LLOC4Logical lines; fewer is more readable
59.6Δ 37.9
DeepSeek V4 Pro120–20; mean of three runs
27.8Δ 6.1
GPT-6.1 Sol15.670–20; mean of three runs
44.4Δ 22.7
BTTF0.520–1; higher is more readable
53.5Δ 31.8
Human2.731–5; original rating
21.7

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.247.254−8.159
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.733−7.1
Source linesThe number of non-empty source lines.6+2.4

Intercept 8.87 + feature contributions = -3.99 (log-odds).
Score = sigmoid(-3.99) = 0.018.

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.7+0.788
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.68.857+0.749
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.771−0.329
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.13−0.324
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.69+0.309

Intercept 0.07 + feature contributions = 0.959 (log-odds).
Score = sigmoid(0.959) = 0.723.

Score0.363
Score4
Run 1

The code is mostly clear and structured: it performs a method lookup, validates it is static, and invokes it, with each action on its own line. The purpose is evident—retrieving a static suite method and calling it. However, readability suffers from the lack of context around the try/catch block, the use of a generic Exception rather than a more specific exception type, and the abbreviation in the variable name `klass` instead of `clazz` or `classObj`. The comment is helpful. Overall, the logic is easy to follow but could benefit from better variable naming and exception handling.

Run 2

The code is fairly readable but has some structural issues. It demonstrates clear intent — validating that a suite method is static and invoking it — but the logic is somewhat nested within a try block, and there is an inline comment on the same line as an action, reducing clarity. The code is concise, but variable names are slightly abbreviated ('klass' vs 'clazz' or 'classObj'), which may confuse. Action granularity is acceptable but could be improved by separating the invocation from the comment. The reading flow is natural enough, progressing from lookup to validation to invocation, but the absence of surrounding context (e.g., exception handling) makes it harder to assess. Overall, it is straightforward Java code but lacks the polish of highly readable code.

Run 3

The code snippet is a short, flat control structure with one action per line, which is good. However, several issues hurt readability. The intent is somewhat clear—reflecting on a class to get a static 'suite' method and invoke it—but the logic is terse. The exception message is useful, but throwing a generic Exception is poor practice. Variable naming is concise but acceptable. The key problem is lack of context: where is 'suite' declared? What are the types of 'klass' and 'suiteMethod'? Without surrounding code, it’s ambiguous. The inline comment helps, but overall the snippet feels like a fragment. Indentation appears off (extra tab), and missing braces in the if statement—while legal—slightly reduces clarity. The code is compact but not self-explanatory, relying on implicit Java reflection knowledge. It is not deeply nested nor excessively long, but clarity of intent and structure are weakened by the lack of error handling and context.

Run 1

Code Structure: Logically orders method lookup, validation, and invocation, though the try block is incomplete. Nesting: Shallow nesting with one conditional inside the try block. Clarity of intent: The suite method lookup and static-method check clearly communicate purpose; the exception message is informative. Code length: Concise, with no unnecessary steps. Action granularity: Each statement performs one main action. Reading flow: Natural progression, slightly weakened by inconsistent spacing around assignments and the missing closing block and exception handler.

Run 2

Code Structure: The reflection lookup, static-method validation, and invocation are logically ordered, but the incomplete try block limits structural clarity. Nesting: Shallow nesting keeps the snippet easy to follow. Clarity of intent: The code clearly retrieves and invokes a static suite method; descriptive names and the exception message help, though reflection and casting require some background knowledge. Code length: Concise, with no unnecessary statements. Action granularity: Each statement performs a distinct action on its own line, although validation combines modifier retrieval and checking. Reading flow: The sequence is natural, but inconsistent spacing around assignments and negation slightly reduces polish.

Run 3

Code Structure: Logically sequences method lookup, static validation, and invocation, though the try block is incomplete. Nesting: Shallow, with only one conditional inside the try. Clarity of intent: Names, the exception message, and the comment clearly convey invoking a static suite method. Code length: Concise, with no unnecessary statements. Action granularity: Each statement performs a distinct action on its own line. Reading flow: Natural and sequential, but inconsistent spacing around assignments and after the negation slightly reduces readability.