Sample

Scalabrio53

Human rating uses the original dataset scale.

DatasetScalabrino
Human4.22
Lines13

Scores

MethodScoreScaleDataset rank
(0–100)
Posnett0.9010–1; higher is more readable
97.5Δ 14.6
Scalabrino0.8190–1; higher is more readable
86.4Δ 3.5
Dorn0.7690–1; higher is more readable
88.4Δ 5.5
Mi0.7540–1; higher is more readable
94.0Δ 11.1
LLOC4Logical lines; fewer is more readable
93.7Δ 10.8
DeepSeek V4 Pro16.670–20; mean of three runs
85.7Δ 2.8
GPT-6.1 Sol180–20; mean of three runs
83.7Δ 0.8
BTTF0.7530–1; higher is more readable
97.5Δ 14.6
Human4.221–5; original rating
82.9

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.177−6.266
Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones.169.458−5.592
Source linesThe number of non-empty source lines.13+5.2

Intercept 8.87 + feature contributions = 2.212 (log-odds).
Score = sigmoid(2.212) = 0.901.

Score0.819

Feature contributions

FeatureValueContribution
(log-odds)
Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right.97+0.761
Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code.13+0.576
Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *.0.048+0.476
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.96.923−0.44
Number layout frequencyHow rapidly the number of numeric values per line changes through the code.1+0.398
Indentation frequencyHow rapidly indentation changes from line to line.10−0.391
Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom.11.704−0.246

Intercept 0.07 + feature contributions = 1.203 (log-odds).
Score = sigmoid(1.203) = 0.769.

Score0.754
Score4
Run 1

The code is concise and readable, with clear intent from the method name and Javadoc. The anonymous inner class adds some nesting, but it's minimal. The main weakness is that the action of creating and executing the test is compressed into a single expression, reducing action granularity slightly. Overall, well-structured and purposeful.

Run 2

The code is highly readable. It has a clear purpose, stated in the Javadoc comment, and the method name accurately reflects the test's intent. The structure is flat with no deep nesting, and the action granularity is appropriate—each line performs a single logical step. The use of an anonymous inner class is concise and avoids unnecessary boilerplate, while the helper class `AbstractConcurrentFailuresTest` centralizes repeated logic. The reading flow is natural: documentation, test method declaration, listener override, and execution. The only minor drawback is that the listener override obscures what happened internally (`addFirstListener` is indirect), but the intent remains clear due to the test name and comment.

Run 3

The code is highly readable. It has a clear structure with a single public test method that encapsulates its behavior in an anonymous inner class. The nesting is minimal—only one level for the anonymous class and one additional for the overridden method. The intent is explicit: verifying concurrent failure notification for listeners added via addFirstListener. The code is concise, with no unnecessary duplication. Each line performs a clear action, such as calling the overridden method or invoking the test. The reading flow is natural, moving from the method declaration to the anonymous class, then to the assertion via the test() call. Minor deductions: the anonymous class adds slight verbosity, and the abstract test class's name implies complexity, but overall this is a well-structured and readable test.

Run 1

Code Structure: A well-organized test delegates shared behavior to a reusable helper and overrides only listener registration. Nesting: Shallow, though the anonymous subclass adds a small layer of complexity. Clarity of intent: The descriptive method name and documentation clearly explain the behavior being verified; the helper's implementation is needed to understand the assertions. Code length: Concise, with no unnecessary logic. Action granularity: Each statement performs one clear action. Reading flow: Natural progression from documentation to test setup, customization, and execution, although invoking .test() directly after the anonymous class slightly interrupts the flow.

Run 2

Code Structure: A well-organized test delegates shared behavior to a helper and overrides only listener registration. Nesting: The anonymous class introduces modest nesting, but the short override remains easy to follow. Clarity of intent: The descriptive method name and documentation clearly explain the concurrent failure-notification scenario, although understanding its implementation requires inspecting the helper. Code length: Concise, with little unnecessary code. Action granularity: Each statement performs a single action; the chained test invocation is compact and understandable. Reading flow: The setup-to-execution sequence is natural, though invoking test() directly on an anonymous class slightly interrupts the flow.

Run 3

Code Structure: Well-organized test with a focused setup and execution. Nesting: The anonymous class and overridden method introduce modest nesting, but remain easy to follow. Clarity of intent: The descriptive method name and documentation clearly explain the expected behavior; understanding the full test requires inspecting AbstractConcurrentFailuresTest. Code length: Concise, with no unnecessary implementation detail. Action granularity: Each statement performs a single action, although constructing the anonymous class and invoking test() are combined in one expression. Reading flow: Natural progression from documentation to test declaration, listener customization, and execution.