Sample

Scalabrio99

Human rating uses the original dataset scale.

DatasetScalabrino
Human3.22
Lines36

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
4.5Δ 22.9
Scalabrino0.3740–1; higher is more readable
31.7Δ 4.3
Dorn0.0480–1; higher is more readable
8.5Δ 18.8
Mi0.0350–1; higher is more readable
16.1Δ 11.3
LLOC23Logical lines; fewer is more readable
15.8Δ 11.6
DeepSeek V4 Pro60–20; mean of three runs
1.3Δ 26.1
GPT-6.1 Sol150–20; mean of three runs
19.6Δ 7.8
BTTF0.4440–1; higher is more readable
23.6Δ 3.8
Human3.221–5; original rating
27.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)
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.2111.799−69.689
Source linesThe number of non-empty source lines.36+14.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.4.965−7.447

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

Score0.374

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.162.972−3.238
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.1+1.001
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Indentation frequencyHow rapidly indentation changes from line to line.35+0.473
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.36−0.405
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.112−0.15
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.34.811+0.077

Intercept 0.07 + feature contributions = -2.977 (log-odds).
Score = sigmoid(-2.977) = 0.048.

Score0.035
Score23
Run 1

The code is difficult to read due to excessive nesting, long method chains, and disorganized formatting. The test setup (CriteriaExecutor, HqlExecutor, ResultChecker) is constructed inline with deeply nested anonymous classes, making the intent unclear. The long query string and command chain in getCriteria are dense and hard to parse. The checker method contains multiple assertions packed into a single block with deep parentheses and casting, reducing clarity. Action granularity is mixed—multiple actions occur per line, and the reading flow is disrupted by inconsistent spacing and indentation. While the test is functional, it lacks readability due to tangled structure and verbose, deeply nested expressions.

Run 2

The code is difficult to read due to multiple anonymous inner classes, deep nesting, and long method chains. The test method is overly long and mixes setup, execution, and assertions. Key issues include: (1) Code Structure - tangled anonymous classes obscure the test flow; (2) Nesting - deeply nested assertions and conditional blocks; (3) Clarity of intent - the purpose is buried in complex entity relationships and casting; (4) Code length - verbose with repetitive type casts and map access; (5) Action granularity - multiple operations crammed into single lines (e.g., chained Criteria methods); (6) Reading flow - disorganized, requiring readers to jump between setup and verification. While the test covers a valid scenario, it lacks helper methods or clear separation of concerns to improve readability.

Run 3

The code suffers from several readability issues. The method name is overly long and vaguely descriptive. Anonymous inner classes are used extensively, creating deep nesting and making the test setup hard to follow. Multiple actions are crammed into single lines (e.g., method chaining for Criteria and HQL queries), reducing readability. Variable names like 'yogiMap' and 'shermanMap' are unclear without context. Extensive type casting clutters the code and adds visual noise. The structure interleaves setup logic with assertions, making the test's intent difficult to discern at a glance. While some formatting follows Java conventions, the overall complexity and density of the code make it challenging to understand quickly. A cleaner approach would extract setup into helper methods, use more descriptive names, and reduce nesting through better abstraction.

Run 1

Code Structure: Clearly separates Criteria setup, HQL setup, result checking, and execution, although anonymous classes add boilerplate. Nesting: Moderate nesting from anonymous classes and one conditional; no deeply nested control flow. Clarity of intent: The descriptive test name and explicit assertions communicate the purpose, but abbreviated aliases, raw collections, and repeated casts reduce clarity. Code length: Reasonable for the coverage, though repeated student lookups and casts could be extracted into local variables. Action granularity: Most lines perform one setup step or assertion; the fluent Criteria chain is cleanly split across lines. Reading flow: Naturally progresses from query construction to expected-result verification and execution, but the long HQL string and parenthesis-heavy assertions interrupt readability.

Run 2

Code Structure: Clearly separates Criteria setup, HQL setup, result validation, and execution, although anonymous classes add boilerplate. Nesting: Moderate nesting from anonymous classes and a single conditional; no complex branching. Clarity of intent: The descriptive test name, executor names, and assertions communicate the purpose, but short aliases, raw collections, and repeated casts obscure some details. Code length: Reasonable for the test coverage, though repeated student extraction and initialization checks could be simplified. Action granularity: Generally one operation or assertion per line; the Criteria chain presents each configuration step separately. Reading flow: Setup, verification, and execution follow a logical sequence, but the long HQL string and heavily parenthesized assertions interrupt readability.

Run 3

Code Structure: Clearly separates Criteria query construction, HQL query construction, result checking, and execution, although anonymous classes add boilerplate. Nesting: Moderate nesting from anonymous classes and a single conditional; no deeply nested control flow. Clarity of intent: The descriptive test name and explicit assertions communicate the purpose, but abbreviated aliases, raw collections, and repeated casts obscure some details. Code length: Reasonable for its coverage, though repeated student extraction and association checks could be simplified with local variables. Action granularity: Each statement generally performs one action, and the Criteria chain places each operation on its own line. Reading flow: Setup, verification, and execution follow a logical sequence, but the long HQL string, lengthy assertion lines, and excessive parentheses interrupt scanning.