Sample

Buse/63

Human rating uses the original dataset scale.

DatasetBuse
Human2.65
Lines6

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.0890–1; higher is more readable
38.4Δ 20.2
Scalabrino0.520–1; higher is more readable
16.7Δ 1.5
Dorn0.5590–1; higher is more readable
41.4Δ 23.2
Mi0.3240–1; higher is more readable
18.2Δ 0.0
LLOC5Logical lines; fewer is more readable
29.8Δ 11.6
DeepSeek V4 Pro150–20; mean of three runs
60.6Δ 42.4
GPT-6.1 Sol15.330–20; mean of three runs
39.9Δ 21.7
BTTF0.4740–1; higher is more readable
42.4Δ 24.2
Human2.651–5; original rating
18.2

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)
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.629−6.944
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.201.738−6.657
Source linesThe number of non-empty source lines.6+2.4

Intercept 8.87 + feature contributions = -2.331 (log-odds).
Score = sigmoid(-2.331) = 0.089.

Score0.52

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.66+0.87
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.0−0.804
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.7+0.788
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.1+0.398
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.5.612−0.331
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.102−0.05

Intercept 0.07 + feature contributions = 0.237 (log-odds).
Score = sigmoid(0.237) = 0.559.

Score0.324
Score5
Run 1

The code is generally readable with clear intent and logical structure. It creates a suite description and iterates through test methods, adding each as a child. The nesting is flat (only one loop), and action granularity is mostly one action per line. However, some minor issues slightly reduce readability: inconsistent spacing around the equals sign (e.g., 'spec= Description.createSuiteDescription(getName())' and 'testMethods= fTestMethods') could be more consistent. Additionally, re-assigning 'List<Method> testMethods= fTestMethods;' is redundant; the code could iterate fTestMethods directly. The loop syntax is slightly non-standard (indented for-loop body inside the parent loop), though not deeply nested. Overall, the purpose is clear and the code is concise, but small formatting and redundancy issues prevent a higher score.

Run 2

The code is relatively readable but has minor issues. The structure is logical: it creates a description, iterates over test methods, and adds child descriptions. However, indentation is inconsistent—the 'for' loop body is over-indented relative to typical Java style. Variable alignment is also slightly off ('spec=' lacks spacing). Naming is generally clear ('spec', 'testMethods'), though 'fTestMethods' could be clearer without the Hungarian-like prefix. The code is concise and each line performs roughly one action. The overall flow is natural, but the inconsistent formatting slightly disrupts readability. With standard formatting and minor naming improvements, it would score higher.

Run 3

The code is generally readable: it has a clear purpose, flat structure, and concise length. Action granularity is mostly one per line. However, readability is reduced by inconsistent spacing around '=', inconsistent indentation (extra indent before spec.addChild), and the use of non-final local variables ('spec' and 'testMethods') where final would clarify intent. The reading flow is natural but slightly disrupted by these minor inconsistencies.

Run 1

Code Structure: The method follows a logical sequence: create a suite description, obtain test methods, and add child descriptions, but the snippet lacks a return statement and closing brace. Nesting: One shallow loop keeps complexity low, though its excessive indentation and omitted braces reduce visual clarity. Clarity of intent: Descriptive API and method names make the purpose apparent, but 'spec' is less precise than 'suiteDescription'. Code length: Concise overall; the local 'testMethods' alias may be unnecessary. Action granularity: Each statement performs one clear action. Reading flow: Execution proceeds naturally from initialization to iteration, but inconsistent spacing and the incomplete ending interrupt readability.

Run 2

Code Structure: Logically organized, creating a suite description and adding descriptions for each test method, but the snippet lacks a return statement and closing brace. Nesting: Shallow, with only one loop. Clarity of intent: The method and API names communicate the purpose, though 'spec' and 'fTestMethods' are less descriptive. Code length: Concise, although the local alias for fTestMethods is arguably unnecessary. Action granularity: Each statement performs one clear action. Reading flow: Sequential and easy to follow, but inconsistent spacing, excessive indentation of the loop body, and the incomplete ending reduce readability.

Run 3

Code Structure: The statements are logically ordered, but the snippet lacks a return statement and closing brace, making it appear incomplete. Nesting: A single loop keeps nesting shallow, though its body is over-indented. Clarity of intent: Creating a suite description and adding descriptions for test methods is clear; the name 'spec' is less descriptive than 'suiteDescription'. Code length: Concise, although the local 'testMethods' alias appears unnecessary. Action granularity: Each statement performs one action. Reading flow: The sequence is natural and easy to follow, but inconsistent spacing around assignments and the incomplete method reduce readability.