Sample

Scalabrio180

Human rating uses the original dataset scale.

DatasetScalabrino
Human2.33
Lines41

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
3.5Δ 2.3
Scalabrino0.040–1; higher is more readable
1.5Δ 0.3
Dorn0.0840–1; higher is more readable
14.1Δ 12.8
Mi0.0620–1; higher is more readable
25.6Δ 24.4
LLOC28Logical lines; fewer is more readable
7.8Δ 6.5
DeepSeek V4 Pro9.670–20; mean of three runs
17.3Δ 16.1
GPT-6.1 Sol160–20; mean of three runs
34.7Δ 33.4
BTTF0.4420–1; higher is more readable
20.6Δ 19.3
Human2.331–5; original rating
1.3

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.2310.228−76.238
Source linesThe number of non-empty source lines.41+16.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.754−7.131

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

Score0.04

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.121.951−1.5
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.1−0.703
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.41−0.52
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.39.813+0.147
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.105−0.083

Intercept 0.07 + feature contributions = -2.392 (log-odds).
Score = sigmoid(-2.392) = 0.084.

Score0.062
Score28
Run 1

The code has several readability issues. The method is very long with numerous repeated assertions and iterators, violating action granularity and code length criteria. Multiple actions occur per line in some cases, and there is redundant testing of the same behavior (three separate iterator tests). Variable names are somewhat verbose but clear. The structure is linear with minimal nesting, which is positive, but the repetitive nature makes it tedious to follow. Natural reading flow is disrupted by the constant repetition of long method chains like 'noInheritanceEntityBinding.getHierarchyDetails().getEntityIdentifier().getValueBinding()'. The intent could be clearer - it appears to verify no inheritance/polymorphism for SingleEntity, but the message is buried under excessive verification. Some positive aspects include flat nesting, consistent assertion style, and proper spacing. However, the test could be significantly shortened by extracting helper methods or fixtures, and the repeated patterns could be condensed into loops or parameterized assertions.

Run 2

The test method has a clear purpose and logical sequence of assertions about a non-polymorphic entity binding. However, readability is significantly reduced by excessive repetition and very long method chaining. Lines like `noInheritanceEntityBinding.getHierarchyDetails().getEntityIdentifier().getValueBinding()` are repeated many times, making the code noisy and hard to scan. The method is also very long with many assertions, and the lack of helper methods or local variables to group related checks hurts clarity. Nesting is flat, which is good, but action granularity is poor because multiple conceptual checks are crammed into single lines. The `@Resources` annotation is verbose due to formatting, adding visual clutter at the top. Overall, the code follows a straightforward structure but needs refactoring to extract repeated expressions and group assertions into smaller, self-documenting helper methods to improve readability.

Run 3

The code structure is logical with a single test method, but the method is extremely long and repetitive. Nesting is minimal, which is good, but clarity of intent suffers due to verbose repeated accessor chains like 'noInheritanceEntityBinding.getHierarchyDetails().getEntityIdentifier().getValueBinding()'. Code length is unnecessarily long for the assertions being made. Action granularity is reasonable—one assertion per line—but the reading flow is disrupted by the repetitive patterns and lack of helper methods or extracted variables. The test method would benefit from breaking down into smaller, focused tests or refactoring repeated expressions into local variables. Overall, it is functional and somewhat structured, but far from highly readable.

Run 1

Code Structure: The test logically progresses from entity inheritance properties to attribute bindings, but lacks visual grouping between assertion sections. Nesting: Only one shallow loop keeps complexity low. Clarity of intent: The test name, descriptive variables, and explicit assertions clearly communicate the expected non-polymorphic behavior. Code length: Reasonable overall, though repeated iterator checks and long identifier-access chains add verbosity and could be extracted into helpers or local variables. Action granularity: Most lines contain one assertion or assignment; iterator advancement within assertions is conventional but slightly mixes actions. Reading flow: Execution follows a natural sequence, although iterator reuse, repetitive assertions, and dense formatting make individual verification groups harder to distinguish.

Run 2

Code Structure: The test logically progresses from entity hierarchy checks to attribute binding checks, though blank lines or helper methods would better separate these sections. Nesting: Only one shallow loop appears, making control flow easy to follow. Clarity of intent: The test name, descriptive variable names, and assertions clearly convey verification of a non-polymorphic entity; repeated method chains require extra effort to interpret. Code length: Reasonable for its coverage, but repeated iterator checks and identifier lookups add verbosity. Action granularity: Each statement generally performs one clear action, although adding to a set inside assertTrue combines mutation and verification. Reading flow: The sequence is natural, but dense assertions, long lines, and reuse of the iterator variable slightly reduce readability.

Run 3

Code Structure: A single focused test logically progresses from entity inheritance properties to attribute bindings, though visual grouping would improve organization. Nesting: Only one shallow loop keeps control flow easy to follow. Clarity of intent: The test name, descriptive variable names, and explicit assertions clearly communicate the expected non-polymorphic behavior; repeated method chains take extra effort to parse. Code length: Reasonable for the coverage provided, but repeated iterator checks and identifier-binding lookups add verbosity. Action granularity: Each statement generally performs one clear action, although adding to a set inside an assertion combines mutation and verification. Reading flow: Assertions follow a natural sequence, but the lack of blank lines, long expressions, and iterator reassignment slightly hinder scanning.