Sample
Scalabrio165
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.839 | 0–1; higher is more readable | 95.5Δ 7.5 |
| Scalabrino | 0.759 | 0–1; higher is more readable | 79.4Δ 8.5 |
| Dorn | 0.634 | 0–1; higher is more readable | 69.8Δ 18.1 |
| Mi | 0.61 | 0–1; higher is more readable | 82.9Δ 5.0 |
| LLOC | 2 | Logical lines; fewer is more readable | 98.7Δ 10.8 |
| DeepSeek V4 Pro | 15 | 0–20; mean of three runs | 61.6Δ 26.4 |
| GPT-6.1 Sol | 17 | 0–20; mean of three runs | 58.5Δ 29.4 |
| BTTF | 0.511 | 0–1; higher is more readable | 42.7Δ 45.2 |
| Human | 4.33 | 1–5; original rating | 87.9 |
Views
Select the downloaded ZIP or its extracted folder. Files stay in your browser.
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (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.756 | −7.134 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 135.934 | −4.486 |
| Source linesThe number of non-empty source lines. | 11 | +4.4 |
Intercept 8.87 + feature contributions = 1.651 (log-odds).
Score = sigmoid(1.651) = 0.839.
| Score | 0.759 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| 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 |
| 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. | 11 | −0.357 |
| 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. | 78.909 | +0.323 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 9.887 | −0.272 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.078 | +0.189 |
Intercept 0.07 + feature contributions = 0.548 (log-odds).
Score = sigmoid(0.548) = 0.634.
| Score | 0.61 |
|---|
| Score | 2 |
|---|
Run 1
The code is fairly readable. The structure is logical, and the intent is clear: it tests modification flag properties. It has minimal nesting and is concise. However, the deeply chained method calls (getCfg().getClassMapping(...)) reduce readability slightly, and the multiple nested method invocations make the reading flow feel a bit disorganized. Action granularity is acceptable but could be improved by extracting intermediate variables.
Run 2
The code is relatively readable due to clear method naming and a straightforward purpose, but it suffers from excessive vertical nesting and line breaks caused by deeply chained method calls. The logical structure is understandable, but the formatting interrupts natural reading flow. Action granularity is acceptable but could be improved by using intermediate variables to reduce nesting and improve clarity. Concise overall, though slightly verbose in formatting.
Run 3
The code is moderately readable. It demonstrates good action granularity with one main operation per line, but suffers from excessive nesting and indentation that makes the flow feel fragmented. The intent is clear—testing mod flag properties—but the deeply nested method calls within assertEquals reduce readability. The structure could be improved by extracting intermediate variables to flatten the hierarchy and improve reading flow. While the code is concise, the compact vertical formatting and multi-level nesting make it harder to scan quickly.
Run 1
Code Structure: A logically organized test with a single assertion. Nesting: Several nested method calls and heavily indented arguments add visual complexity, although there is no nested control flow. Clarity of intent: The test name and helper names clearly indicate verification of modification-flag properties. Code length: Concise overall, but spreading parentheses and arguments across many lines makes a small test appear longer. Action granularity: One assertion performs a cohesive check; nested calls combine setup and extraction without obscuring their roles. Reading flow: Expected and actual values follow the familiar assertEquals pattern, though understanding the actual value requires tracing inward through several calls.
Run 2
Code Structure: A single, logically organized test with one assertion. Nesting: Several nested method calls and heavily expanded formatting require tracking parentheses, though there is no control-flow nesting. Clarity of intent: The test name and helper methods clearly indicate verification of modification-flag properties. Code length: Concise in substance, but the assertion spans more lines than necessary. Action granularity: Each call is visually separated, although configuration lookup, property extraction, and comparison are combined in one expression. Reading flow: The expected value precedes the actual value naturally, but indentation and the long fully qualified class name slightly interrupt the flow.
Run 3
Code Structure: A logically organized test containing one assertion. Nesting: Several nested method calls and heavily indented parentheses add minor reading overhead, but there is no nested control flow. Clarity of intent: The test name and expected property clearly indicate verification of modification-flag properties. Code length: Concise overall, though the assertion occupies more lines than necessary. Action granularity: One cohesive assertion, with supporting calls separated clearly across lines. Reading flow: Expected value followed by actual value is natural for an assertion, although tracing the actual value through configuration, class mapping, and property extraction requires some effort.