Sample
int-90e3a400151f-I09
Select one of ten low-readability unrelated code templates per class
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.425 | 0–1; higher is more readable |
| Dorn | 0.401 | 0–1; higher is more readable |
| Mi | 0.099 | 0–1; higher is more readable |
| LLOC | 12 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 10.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 12 | 0–20; mean of three runs |
| BTTF | 0 | 0–1; higher is more readable |
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. | 1991.385 | −65.716 |
| Source linesThe number of non-empty source lines. | 49 | +19.6 |
| 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.977 | −7.466 |
Intercept 8.87 + feature contributions = -44.711 (log-odds).
Score = sigmoid(-44.711) = 0.
| Score | 0.425 |
|---|
Feature contributions
| Feature | Value | Contribution (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. | 123.98 | −1.586 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 123.7 | +1.191 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 46 | +0.854 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 50 | −0.734 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 46 | −0.635 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 48.808 | +0.272 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.08 | +0.165 |
Intercept 0.07 + feature contributions = -0.402 (log-odds).
Score = sigmoid(-0.402) = 0.401.
| Score | 0.099 |
|---|
| Score | 12 |
|---|
Run 1
The code has a clear class structure with imports, Javadoc, constructor, and overridden methods but is severely hampered by the inserted obfuscated line: '{int lI0O_1a4e9f29=0x89EF^0x89EF;...}' This meaningless, single-line block disrupts reading flow, violates action granularity, and obscures intent. Nesting is otherwise flat, and method lengths are short, but the getWriteBatches method delegates with multiple arguments and a null inline, making intent ambiguous without context. The obfuscated code is a major readability failure, forcing readers to parse unrelated logic. Without it, the class would be more readable (around 15), but as presented, clarity and structure are compromised.
Run 2
The code is well-structured and follows clear OOP principles with a clean inheritance hierarchy. Class and method names are descriptive, and the constructor is straightforward. However, there is a suspicious line with obfuscated variable names (lI0O_1a4e9f29) and a meaningless if-else block that appears to be injected or leftover debugging code, which significantly hurts clarity. Nesting is minimal, and each method performs a single logical action. Method overrides clearly indicate unsupported operations. The use of method references and null parameters is idiomatic but slightly cryptic without context. Overall, the code is readable except for the obfuscated line, which appears out of place and reduces the score.
Run 3
The code has readable structure with clear class hierarchy, proper constructor delegation, and meaningful override methods. However, it contains an obfuscated dead-code line (the lI0O_1a4e9f29 variable manipulation) that serves no purpose, seriously harming clarity and readability. Import statements are concise and the Javadoc is useful, but the dead code breaks reading flow and intent. Nesting is flat and methods are short, yet the bizarre line violates action granularity and clarity principles. Overall it reads like legitimate code with a single injected unreadable artifact.
Run 1
Code Structure: The class is logically organized into a constructor and short overrides, but an unrelated obfuscated block disrupts one method. Nesting: Most code is flat; the injected block adds unnecessary nested conditionals. Clarity of intent: Descriptive names, delegation, and exception messages communicate the store's purpose, while the cryptic variable and hexadecimal arithmetic obscure a no-op. Code length: The implementation is concise overall, but the dead block adds needless complexity. Action granularity: Normal statements are clearly separated; the injected block compresses declarations, conditions, and mutations onto one line. Reading flow: Method boundaries and formatting generally support natural reading, but inconsistent indentation and the dense block interrupt it.
Run 2
Code Structure: The class is logically organized into a constructor and focused overrides, but an unrelated obfuscated block disrupts one method. Nesting: Most code is flat; the injected block adds unnecessary nested conditionals. Clarity of intent: Descriptive names, schema references, and exception messages communicate the store's purpose, while the cryptic variable and hexadecimal operations obscure intent. Code length: The implementation is concise overall, but the no-op block adds needless code. Action granularity: Normal statements are separated cleanly; the injected block compresses declarations, conditions, and mutations onto one line. Reading flow: Method ordering and delegation are straightforward, but inconsistent indentation, tightly packed imports, and the obfuscated block interrupt otherwise natural reading.
Run 3
Code Structure: The class is logically organized into a constructor and focused overrides, but an unrelated obfuscated block disrupts one method. Nesting: Most code is flat; the injected block introduces unnecessary nested conditionals. Clarity of intent: Descriptive class and method names, schema references, and exception messages explain the store's role, while the meaningless variable name and bitwise expressions obscure intent. Code length: The implementation is otherwise concise, but the no-op block adds unnecessary code. Action granularity: Normal statements are clearly separated, whereas the injected block compresses declarations, assignments, and conditionals onto one line. Reading flow: The constructor and delegating method read naturally, but inconsistent indentation, tightly packed imports, and the abrupt obfuscated block interrupt scanning.