Sample

Scalabrio189

Human rating uses the original dataset scale.

DatasetScalabrino
Human3.56
Lines36

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
33.2Δ 12.3
Scalabrino0.5610–1; higher is more readable
55.3Δ 9.8
Dorn0.3530–1; higher is more readable
41.2Δ 4.3
Mi0.1120–1; higher is more readable
37.2Δ 8.3
LLOC20Logical lines; fewer is more readable
25.9Δ 19.6
DeepSeek V4 Pro13.670–20; mean of three runs
43.2Δ 2.3
GPT-6.1 Sol180–20; mean of three runs
83.7Δ 38.2
BTTF0.5410–1; higher is more readable
52.8Δ 7.3
Human3.561–5; original rating
45.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.1170.995−38.643
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.869−7.304

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

Score0.561

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.112.944−1.119
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.106.722+0.917
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.33−0.336
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.36−0.238
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.34.842+0.077
Indentation frequencyHow rapidly indentation changes from line to line.23+0.058
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.101−0.037

Intercept 0.07 + feature contributions = -0.607 (log-odds).
Score = sigmoid(-0.607) = 0.353.

Score0.112
Score20
Run 1

The code is generally well-structured and readable. It follows a clear pattern for each revision: begin transaction, create entity, persist, commit, store ID. Comments help delineate revisions. The action granularity is good, with each operation on its own line. However, the code length is somewhat long due to repetitive transaction blocks, and the table mapping section could be more concise or extracted. Nesting is flat, and the reading flow is natural, moving from entity creation to table assignment. The main drawbacks are the repetitive transaction code and the long fully-qualified class names, which reduce conciseness. Overall, the intent is clear, but the code could benefit from a helper method to reduce boilerplate.

Run 2

The code is structured into clear, labeled revision blocks, which aids logical organization. Each block performs a transaction, persists an entity, and stores its ID, making the intent easy to follow. The listing of table mappings at the end is also logically grouped. However, readability is slightly reduced by long fully qualified class names and some repetitive transaction boilerplate that could be extracted. Nesting is minimal and action granularity is decent, though a few lines combine multiple operations. Overall the flow is natural and concise for a test setup method.

Run 3

The code is logically organized into clear revision blocks and uses comments to separate steps, which helps readability. However, it suffers from repetitive boilerplate: each revision requires four near-identical lines (getTransaction, begin, persist, commit). Nesting is flat, and each action is on its own line, but the repeated transaction handling increases cognitive load. The final section assigning table mappings is dense and verbose, mixing long class strings with method calls. While variable names and intent are clear, the code could be significantly shortened by extracting a helper method for persisting an entity or by using a transaction template. Overall, the structure is sound but the verbosity and repetitive pattern reduce readability for someone unfamiliar with the test setup.

Run 1

Code Structure: Three clearly separated revision blocks followed by table lookups provide logical organization. Nesting: The method is flat, with no nested control flow. Clarity of intent: Descriptive entity and table names, revision comments, and explicit transaction boundaries make the test setup understandable, though positional constructor arguments provide limited context. Code length: Reasonably concise; repeated transaction sequences add some length but make each revision explicit. Action granularity: Each statement performs one primary action, with short method chains remaining easy to follow. Reading flow: Consistent formatting and chronological revision order support natural reading; long fully qualified mapping strings slightly interrupt the flow.

Run 2

Code Structure: Three clearly separated revision blocks followed by table lookups provide logical organization. Nesting: The method is flat, with no nested control flow. Clarity of intent: Descriptive entity names, revision comments, and explicit transaction boundaries make the test setup understandable, although positional constructor arguments and mapping strings require domain knowledge. Code length: Reasonably concise; transaction boilerplate and repeated lookups add some repetition but preserve visibility of revision boundaries. Action granularity: Each statement performs one main action, making execution easy to track. Reading flow: The consistent begin-persist-commit-ID sequence reads naturally, followed by related table assignments. Long class names and wrapped lookup chains slightly interrupt the otherwise clear flow.

Run 3

Code Structure: Clearly organized into three revision-specific setup blocks followed by audit-table lookups. Nesting: Flat, with no nested control flow. Clarity of intent: Descriptive entity and table names, transaction boundaries, and revision comments make the initialization purpose clear; positional constructor arguments and hard-coded mapping names require some domain knowledge. Code length: Reasonably concise, although repeated transaction and persistence sequences add modest duplication. Action granularity: Each statement performs one primary action; chained table lookups remain understandable. Reading flow: Sequential execution, consistent formatting, and blank lines make the method easy to follow. Long fully qualified mapping strings slightly interrupt the otherwise natural flow.