Sample

Scalabrio179

Human rating uses the original dataset scale.

DatasetScalabrino
Human3.22
Lines23

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
41.2Δ 13.8
Scalabrino0.5250–1; higher is more readable
51.8Δ 24.4
Dorn0.1460–1; higher is more readable
19.6Δ 7.8
Mi0.0630–1; higher is more readable
26.6Δ 0.8
LLOC17Logical lines; fewer is more readable
35.7Δ 8.3
DeepSeek V4 Pro10.670–20; mean of three runs
23.4Δ 4.0
GPT-6.1 Sol160–20; mean of three runs
34.7Δ 7.3
BTTF0.4420–1; higher is more readable
21.6Δ 5.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.862.771−28.471
Source linesThe number of non-empty source lines.23+9.2
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.861−7.292

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

Score0.525

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.150−2.688
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.150+1.616
Indentation frequencyHow rapidly indentation changes from line to line.1−0.703
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.23+0.222
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.111−0.14
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.21.543−0.109
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.20−0.038

Intercept 0.07 + feature contributions = -1.77 (log-odds).
Score = sigmoid(-1.77) = 0.146.

Score0.063
Score17
Run 1

The code has some readability, but it suffers from several issues. It is a test method that tries to verify natural-id caching behavior after transaction success. However, the structure is tangled: multiple actions are crammed into single lines (e.g., 'session.save( it ); // schedules an InsertAction'), and the inline comments interrupt the flow. The nesting is moderate but the sequence of session management and transaction handling is verbose. The intent is unclear at first read—comments explain what should happen but not why. Action granularity is poor, with multiple logical steps per line. There is no clear separation between arrange, act, and assert phases. Variable names like 'it' are ambiguous. The code would benefit from line breaks, descriptive variable names, and clearer phase separation.

Run 2

The code has clear intent and decent logical structure for a test, but readability suffers from several issues: multiple actions are packed into single lines (e.g., session initialization, natural-id load, assertion), variable `it` is ambiguous, and the comment 'without bug-fix' is cryptic. The nested transaction blocks are flat, which is good, but the flow jumps between setup, assertion, and teardown without visual separation. The typo 'excpect' and long assertion line further reduce clarity. Overall, it is workable but not highly readable.

Run 3

The code is fairly readable but has some structural issues. The test method is clear in intent—verifying natural ID caching behavior—and uses descriptive variable names. However, it is too long for a single test method, combining multiple actions (save, update, delete) without helper methods or comments separating phases. The nesting is minimal, and reading flow is natural, but action granularity could be improved by adding blank lines or extracting setup/teardown steps. The comment about 'without bug-fix' is ambiguous and could confuse. Overall, the code is understandable but could be broken into smaller, more focused assertions or setup blocks.

Run 1

Code Structure: Logically separates entity creation and modification from cache verification and cleanup, though the phases lack explicit labels. Nesting: Flat execution with no nested control flow makes the test easy to follow. Clarity of intent: The descriptive test name, issue annotation, and comments explain the regression scenario; generic names such as 'it' and 'Another' reduce clarity. Code length: Appropriately concise, although the final assertion is overly long. Action granularity: Each statement performs one main action, with method chaining used conventionally. Reading flow: Operations follow a natural transaction lifecycle, but reassigning the session and entity variables, inconsistent spacing, and the assertion-message typo interrupt readability slightly. The second session also lacks an explicit close, making resource cleanup less clear.

Run 2

Code Structure: Logically separates entity creation/update from subsequent cache verification, although explicit arrange/act/assert sections would help. Nesting: Flat, with no nested control flow. Clarity of intent: The descriptive test name, issue annotation, and comments communicate the regression scenario, but the variable name 'it' and ambiguous cache-invalidation comment reduce clarity. Code length: Appropriately concise, though the final assertion is overly long. Action granularity: Generally one action per line; chained session/statistics calls make a few lines denser. Reading flow: Operations follow a natural transaction lifecycle, but inconsistent spacing, session reuse, and the missing explicit close for the second session slightly weaken readability.

Run 3

Code Structure: Logically organized into entity insertion/update, transaction completion, and cache verification, though phase separation could be clearer. Nesting: Flat control flow makes the test easy to follow. Clarity of intent: The descriptive method name, issue annotation, and comments explain the regression scenario; vague names such as 'it' and 'Another' reduce clarity. Code length: Concise overall, but the final assertion and chained statistics access are long. Action granularity: Each statement performs one main action, with readable inline comments. Reading flow: Operations follow a natural transaction lifecycle, although reassignment of session and entity variables, inconsistent spacing, and the typo in the assertion message introduce minor friction. The second session is not explicitly closed, making resource lifecycle completeness less clear.