Sample
JetBrains/b57
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0 | 0–1; higher is more readable | 29.7Δ 20.3 |
| Scalabrino | 0.18 | 0–1; higher is more readable | 3.4Δ 5.9 |
| Dorn | 0.697 | 0–1; higher is more readable | 84.7Δ 75.4 |
| Mi | 0.293 | 0–1; higher is more readable | 23.7Δ 14.4 |
| LLOC | 20 | Logical lines; fewer is more readable | 22.0Δ 12.7 |
| DeepSeek V4 Pro | 6.67 | 0–20; mean of three runs | 2.5Δ 6.8 |
| GPT-6.1 Sol | 9.33 | 0–20; mean of three runs | 0.0Δ 9.3 |
| BTTF | 0.255 | 0–1; higher is more readable | 5.1Δ 4.2 |
| Human | 0.43 | 0–1; original rating | 9.3 |
Views
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (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. | 950.091 | −31.353 |
| Source linesThe number of non-empty source lines. | 26 | +10.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. | 3.587 | −5.381 |
Intercept 8.87 + feature contributions = -17.464 (log-odds).
Score = sigmoid(-17.464) = 0.
| Score | 0.18 |
|---|
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 |
| 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 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.12 | −0.227 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 26 | −0.176 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 26 | +0.162 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 24.746 | −0.064 |
Intercept 0.07 + feature contributions = 0.832 (log-odds).
Score = sigmoid(0.832) = 0.697.
| Score | 0.293 |
|---|
| Score | 20 |
|---|
Run 1
The code has clear variable names but lacks explanatory comments or method decomposition. The main method does everything: generating, deleting, and printing, making the structure monolithic. Nesting is deep (four levels in the inner loops), which hurts readability. Intent is not obvious—the algorithm resembles a lucky number sieve, but this is unclear without comments. Length is acceptable but dense for what it does. Action granularity is mixed: some lines combine multiple operations (e.g., sequence[index++] = value), while others are clear. Reading flow is natural but interrupted by complex index arithmetic. Overall, it is readable to an experienced Java developer but not immediately understandable without careful study.
Run 2
The code is difficult to understand due to unclear naming, non-obvious logic, and mutating array operations. The nested while/for loops create high complexity, and the algorithm's intent is not evident from the code. Variable names like 'sequence', 'index', and 'value' are generic; the 'deleteIndex' update rule is cryptic. Multiple actions occur per line, and the flow is disjointed. Without prior knowledge of the sequence generation procedure, the reader cannot easily follow the control flow or data movement. Overall, the code is functional but poorly structured for readability.
Run 3
The code has a clear top-level structure (main method) but suffers from poor readability. The intent is not obvious—the algorithm appears to generate a lucky number sequence, but this is never explained. Nesting is deep: three nested loops make the logic hard to follow. Variable names like 'k', 'value', 'index', and 'deleteIndex' are generic and do not convey their roles. Action granularity is mixed—some lines do multiple things (e.g., sequence[index++] = value), while the inner while loop with a for-loop shifts elements, making the deletion logic hard to trace. The code length is moderate but could be shorter with helper methods. Reading flow is disorganized; the shifting logic and index adjustments create cognitive overhead. Overall, the algorithm's purpose and mechanics are obscure without external context.
Run 1
Code Structure: Initialization, sequence manipulation, and output are ordered logically, but all algorithmic work is concentrated in main without helper methods. Nesting: Four nested loop levels make execution and state changes difficult to track. Clarity of intent: The class name suggests a lucky-number sequence, but the roles of k, value, and the deletion arithmetic are insufficiently explained. Code length: The implementation is compact, though its brevity obscures the algorithm rather than simplifying it. Action granularity: Most lines perform one action, but sequence[index++] = value combines assignment and index mutation. Reading flow: Consistent formatting helps, but repeated changes to index and deleteIndex across nested loops interrupt natural reading and require careful mental tracing.
Run 2
Code Structure: Initialization, sequence manipulation, and output are logically ordered, but all logic resides in main without helper methods. Nesting: Four nested loop levels make control flow difficult to follow. Clarity of intent: The class name suggests a lucky-number sequence, but the deletion algorithm, variable k, and index arithmetic are insufficiently explained. Code length: The code is compact, though brevity obscures the algorithm rather than clarifying it. Action granularity: Most lines perform one action, but sequence[index++] combines assignment with index mutation. Reading flow: Consistent indentation helps, yet repeated index changes, array shifting, and intertwined generation and deletion interrupt natural reading.
Run 3
Code Structure: Initialization, sequence processing, and output are logically ordered, but all algorithmic work is bundled into main without helper methods. Nesting: Four nested loop levels make control flow difficult to follow. Clarity of intent: The class name suggests a lucky-number sequence, but k, index, and the deletion arithmetic lack explanations; index serves as both an insertion position and an active-length counter. Code length: The implementation is compact, although concision hides algorithmic complexity. Action granularity: Most lines perform one action, but sequence[index++] = value combines assignment and index mutation. Reading flow: Formatting and sequential setup are clear, but repeated array shifting, changing loop bounds, and interdependent index updates require careful tracing.