Sample

Scalabrio134

Human rating uses the original dataset scale.

DatasetScalabrino
Human3.78
Lines35

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
22.6Δ 36.4
Scalabrino0.7510–1; higher is more readable
77.9Δ 18.8
Dorn0.3410–1; higher is more readable
40.2Δ 18.8
Mi0.0520–1; higher is more readable
23.6Δ 35.4
LLOC22Logical lines; fewer is more readable
19.3Δ 39.7
DeepSeek V4 Pro120–20; mean of three runs
31.4Δ 27.6
GPT-6.1 Sol15.670–20; mean of three runs
27.1Δ 31.9
BTTF0.4920–1; higher is more readable
36.7Δ 22.4
Human3.781–5; original rating
59.0

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.1323.624−43.68
Source linesThe number of non-empty source lines.35+14
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.895−7.342

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

Score0.751

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.119−1.375
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.95.257+0.732
Indentation frequencyHow rapidly indentation changes from line to line.28+0.231
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.28−0.222
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.35−0.203
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.33.775+0.062
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.092+0.043

Intercept 0.07 + feature contributions = -0.66 (log-odds).
Score = sigmoid(-0.66) = 0.341.

Score0.052
Score22
Run 1

The code has a clear purpose and is logically structured, but it suffers from several readability issues. The method contains two distinct sections (persisting and retrieving) that could be separated for better clarity. Nested method calls create deep nesting, particularly in the assertion statement. The code is overly verbose, with repetitive session management code that could be extracted. Action granularity is inconsistent - some lines contain multiple actions while others are simple. Reading flow is disrupted by the long assertion line spanning multiple lines. Variable naming is poor ('s', 'e', 'pm') which obscures intent. The code would benefit from better variable names, extracted helper methods for session management, and breaking down the complex assertion into smaller, more readable steps.

Run 2

The code is reasonably structured but has significant readability issues. The test method includes a long explanatory comment, which is helpful but adds clutter. Nesting is relatively flat, which is good. However, the assertion contains a deeply chained expression that is hard to read and violates action granularity. There are multiple actions per line in several places, such as session creation and transaction handling. The variable names are clear, but the code could be more concise by extracting setup logic or using helper methods. The reading flow is somewhat natural but disrupted by the long assertion and inline comments.

Run 3

The code has clear intent with explanatory comments and logical organization, but suffers from moderate nesting and repeated session boilerplate. The test method is long, mixing setup, persistence, and assertions. Action granularity is inconsistent: multiple statements on some lines reduce readability. The assertion chains multiple method calls, making it harder to follow. Overall structure is understandable, but readability could be improved by extracting setup/teardown and simplifying assertions.

Run 1

Code Structure: The test is logically organized into entity setup/persistence and reload/verification phases, separated by whitespace. Nesting: There are no nested control structures, making execution easy to follow. Clarity of intent: The descriptive test name, issue annotation, specification comment, and assertion message explain the purpose, though abbreviated variables such as s, e, and pm reduce clarity. Code length: Reasonably concise, but the lengthy specification comment, separate session declaration and assignment, and repeated transaction lifecycle calls add bulk. Action granularity: Statements generally perform one action per line; however, the assertion contains a long getter chain that requires extra effort to interpret. Reading flow: Execution follows a natural setup-save-reload-assert sequence, although inconsistent spacing and reuse of session/entity variables slightly disrupt readability.

Run 2

Code Structure: The test is logically organized into entity setup, persistence, and retrieval/assertion phases, with a blank line separating the main phases. Nesting: The body is flat, with no nested control flow. Clarity of intent: The descriptive method name, issue annotation, specification comment, and assertion message explain the purpose, though abbreviated variables such as s, e, and pm reduce clarity. Code length: The implementation is reasonably concise, but the lengthy specification comment and separate session declaration/assignment add bulk. Action granularity: Each statement performs one primary action; however, the assertion contains a long chained expression that requires extra parsing. Reading flow: Execution follows a natural setup-save-reload-verify sequence, but inconsistent spacing, repeated transaction boilerplate, and the dense assertion slightly interrupt readability.

Run 3

Code Structure: The test logically separates entity setup and persistence from retrieval and verification, though transaction boilerplate obscures these phases. Nesting: Execution is flat, with no nested control flow. Clarity of intent: The descriptive test name, issue annotation, and specification comment explain the purpose, but abbreviated variables such as s, e, and pm reduce immediate clarity. Code length: Reasonably compact, although the lengthy comment, separate session declaration and assignment, and repeated session lifecycle operations add bulk. Action granularity: Statements generally perform one action per line; the assertion's long getter chain combines several navigation steps and is harder to parse. Reading flow: The sequence is natural and chronological, with a blank line distinguishing verification, but inconsistent spacing and dense object relationship setup slightly interrupt readability.