Sample

Scalabrio2

Human rating uses the original dataset scale.

DatasetScalabrino
Human3.56
Lines30

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett00–1; higher is more readable
27.6Δ 17.8
Scalabrino0.2720–1; higher is more readable
24.1Δ 21.4
Dorn0.4180–1; higher is more readable
46.7Δ 1.3
Mi0.0110–1; higher is more readable
5.0Δ 40.5
LLOC16Logical lines; fewer is more readable
40.2Δ 5.3
DeepSeek V4 Pro15.330–20; mean of three runs
66.6Δ 21.1
GPT-6.1 Sol160–20; mean of three runs
34.7Δ 10.8
BTTF0.3490–1; higher is more readable
5.5Δ 39.9
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.1236.573−40.807
Source linesThe number of non-empty source lines.30+12
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.256−6.383

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

Score0.272

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.124.967−1.628
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.125+1.212
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.27−0.199
Indentation frequencyHow rapidly indentation changes from line to line.27+0.197
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.092+0.051
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.30−0.026
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.28.659−0.009

Intercept 0.07 + feature contributions = -0.331 (log-odds).
Score = sigmoid(-0.331) = 0.418.

Score0.011
Score16
Run 1

The code is generally readable with clear intent and logical structure. It separates concerns well: constructor lookup, instantiation, and error handling are distinct blocks. Nesting is minimal, mostly limited to one level of try-catch. The reading flow is natural, following the execution path from constructor retrieval through instantiation to return. Error handling is comprehensive and consistent, with descriptive warning messages. However, some areas could be improved: the variable name 'test' is slightly ambiguous (could be 'testInstance'), and the outer try-catch has an empty catch body that returns a warning without using the exception, which slightly obscures intent. The code length is appropriate for the complexity, and action granularity strikes a good balance between conciseness and clarity. The comment is whimsical but adds no value to code understanding, which slightly detracts from professionalism.

Run 2

The code is generally well-structured with clear intent, handling test creation through reflection. It follows a logical flow: constructor retrieval, instantiation, and error handling. Nesting is moderate—only two levels deep, which is acceptable. Action granularity is mostly one action per line, except for a few combined method calls in error handling. Reading flow is natural, with each potential error case clearly separated. However, readability is slightly reduced by repetitive error handling patterns, overly verbose comments, and redundant parentheses in return statements. Some lines are unnecessarily long, particularly the warning messages. Overall, the code is maintainable and understandable but could benefit from minor simplification.

Run 3

The code is generally understandable but has some readability issues. It follows a logical structure with clear intent—creating a test instance with appropriate constructor handling. However, nesting is moderate (two try/catch blocks and an if/else inside the second), which adds complexity. Action granularity is mixed: some lines perform multiple operations (e.g., constructing an instance and then checking its type), while others are clear. Reading flow is acceptable but disrupted by verbose error handling and redundant parentheses in return statements. Variable names like 'theClass' and 'constructor' are clear, but the overall length feels slightly verbose for the task. Minor improvements could reduce nesting and simplify control flow.

Run 1

Code Structure: Logically separates constructor lookup, test instantiation, and error handling. Nesting: Mostly shallow, with only one nested conditional for naming a TestCase. Clarity of intent: The method name and warning messages clearly communicate its purpose, though the whimsical comment adds no useful context and reflection requires some background knowledge. Code length: Reasonably concise, but repetitive catch blocks and redundant parentheses add visual clutter. Action granularity: Each statement performs a distinct action, with no compressed multi-statement lines. Reading flow: Execution proceeds naturally from constructor discovery to instantiation and return; exception handlers interrupt the main path but are clearly organized. Long warning expressions, generic variable names, and the final cast slightly reduce readability.

Run 2

Code Structure: Logically separates constructor lookup, instantiation, exception handling, and return. Nesting: Mostly shallow, with one nested conditional for naming a TestCase. Clarity of intent: The method name, constructor checks, and descriptive warning messages communicate its purpose, but the whimsical comment is uninformative and theClass is a generic name. Code length: Reasonably concise, though repeated warning construction and redundant parentheses add clutter. Action granularity: Each statement performs one main action, making execution easy to follow. Reading flow: Proceeds naturally from lookup to creation to return; long error-message lines and reflection syntax slightly interrupt scanning.

Run 3

Code Structure: Logically separates constructor lookup, test instantiation, and exception handling. Nesting: Mostly shallow, with only one nested conditional for naming a TestCase. Clarity of intent: The method name, constructor checks, and specific warning messages communicate its purpose, but the whimsical comment is uninformative and the final cast assumes type compatibility. Code length: Reasonably concise, though repeated warning construction and redundant return parentheses add clutter. Action granularity: Each statement performs one primary action, with no compressed multi-statement lines. Reading flow: Execution proceeds naturally from constructor discovery to instantiation and return; long warning lines and repetitive catch blocks slightly interrupt scanning.