Sample

Scalabrio77

Human rating uses the original dataset scale.

DatasetScalabrino
Human4.44
Lines26

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
37.2Δ 54.3
Scalabrino0.4910–1; higher is more readable
48.7Δ 42.7
Dorn0.1210–1; higher is more readable
19.1Δ 72.4
Mi0.650–1; higher is more readable
86.4Δ 5.0
LLOC20Logical lines; fewer is more readable
25.9Δ 65.6
DeepSeek V4 Pro15.330–20; mean of three runs
66.6Δ 24.9
GPT-6.1 Sol17.670–20; mean of three runs
74.1Δ 17.3
BTTF0.6090–1; higher is more readable
71.9Δ 19.6
Human4.441–5; original rating
91.5

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.955.582−31.534
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.4.806−7.208

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

Score0.491

Feature contributions

FeatureValueContribution
(log-odds)
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.1−0.703
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.148−0.499
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.25−0.153
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.279−0.07
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.85+0.065

Intercept 0.07 + feature contributions = -1.979 (log-odds).
Score = sigmoid(-1.979) = 0.121.

Score0.65
Score20
Run 1

The test method is logically structured into three clear phases: save, query, and delete. Each phase follows a consistent pattern of opening a session, beginning a transaction, performing an action, committing, and closing. Nesting is minimal and indentation is proper. Intent is clear—the test verifies that an empty IN list returns no results. Code length is reasonable for the three-phase test but could be shortened with a helper method. Action granularity is mostly one action per line, though some lines combine object creation with method calls. Reading flow is natural and sequential. Deductions come from minor redundancy in session handling and a few multi-action lines.

Run 2

The test method follows a logical, sequential structure and each action is clearly separated per line. However, the code mixes multiple phases of setup, execution, and cleanup within a single method with no helper methods, increasing cognitive load. The repeated openSession/beginTransaction/commit/close blocks create some duplication. Variable naming like 'results' is acceptable but could be more descriptive. Indentation is slightly inconsistent on the first annotation line, and the use of raw List type is discouraged in modern Java. Overall, the intent is clear but readability could be improved with smaller methods or setup/teardown extraction.

Run 3

The code demonstrates clear structure with three logical blocks: insert, query, and cleanup. The flat nesting and one-action-per-line style support readability. Intentions are evident through method names and inline comments via annotations. However, some repetitions (openSession, beginTransaction, commit, close) inflate length slightly, and variable reuse for 'session' slightly reduces clarity. Overall, it is concise for a test method, with a natural reading flow.

Run 1

Code Structure: Clearly organized into setup, query/assertion, and cleanup phases, separated by blank lines. Nesting: Flat execution with no nested control flow makes it easy to follow. Clarity of intent: The method name, annotations, query, and assertion clearly communicate the empty-IN-list test; the generic variable name 'results' and raw List slightly reduce clarity. Code length: Reasonably concise, though repeated session and transaction management adds boilerplate. Action granularity: Each statement performs one primary action, with straightforward method chaining. Reading flow: The sequence is natural and chronological, but reassigning the same session variable and manually repeating lifecycle operations introduce minor friction.

Run 2

Code Structure: Clearly organized into setup, query/assertion, and cleanup phases, separated by blank lines. Nesting: Flat execution with no nested control flow. Clarity of intent: The test name, annotations, empty IN query, and assertion make the purpose clear; the raw List type slightly reduces precision. Code length: Short and focused, although repeated session and transaction management adds boilerplate. Action granularity: Each statement performs one primary action, making execution easy to follow. Reading flow: Natural chronological progression from creating test data to checking results and deleting the data. Reusing the session variable slightly weakens phase separation, but overall readability is high.

Run 3

Code Structure: Clearly organized into setup, query/assertion, and cleanup phases, separated by blank lines. Nesting: Flat execution with no nested control flow. Clarity of intent: The test name, issue annotation, query, and assertion clearly communicate the empty-IN-list behavior being tested; the generic results variable and raw List slightly reduce precision. Code length: Compact overall, though repeated session and transaction lifecycle operations add boilerplate. Action granularity: Each statement performs one primary action; chained query execution remains straightforward. Reading flow: Natural chronological progression from creating test data to verifying behavior and deleting it. Explicit phase labels or lifecycle helpers could make the structure even clearer.