Sample
int-8561e67c6299-I09
Select one of ten low-readability unrelated code templates per class
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0.999 | 0–1; higher is more readable |
| Scalabrino | 0.957 | 0–1; higher is more readable |
| Dorn | 0.335 | 0–1; higher is more readable |
| Mi | 0.125 | 0–1; higher is more readable |
| LLOC | 17 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 7.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 14.33 | 0–20; mean of three runs |
| BTTF | 0.281 | 0–1; higher is more readable |
Views
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Source linesThe number of non-empty source lines. | 79 | +31.6 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 823.011 | −27.159 |
| 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.433 | −6.65 |
Intercept 8.87 + feature contributions = 6.661 (log-odds).
Score = sigmoid(6.661) = 0.999.
| Score | 0.957 |
|---|
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. | 79 | −1.761 |
| 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. | 127.987 | −1.756 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 127.987 | +1.261 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.021 | +0.738 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 78.829 | +0.692 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 33 | +0.404 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 33 | −0.336 |
Intercept 0.07 + feature contributions = -0.688 (log-odds).
Score = sigmoid(-0.688) = 0.335.
| Score | 0.125 |
|---|
| Score | 17 |
|---|
Run 1
The code is a simple immutable context class with clear fields and accessors. Javadoc comments are thorough and helpful. However, readability is significantly damaged by the injected obfuscated line in the constructor: a meaningless variable assignment loop that serves no purpose and breaks the natural flow. Apart from that, structure is logical, nesting is flat, intent is clear, and length is appropriate. Action granularity is fine, but reading flow is disrupted by the suspicious code.
Run 2
The code is mostly readable and well-documented, but it contains a severe readability violation: an obfuscated line of dead code inside the constructor that appears to be a no-op with obfuscated variable names. This destroys clarity of intent and reading flow. Aside from that, the class structure is logical, fields are clearly named, javadoc is thorough, and methods are simple getters with no nesting. The constructor is short, and each action is on its own line. The obfuscated block is the primary reason for a low score, as it introduces confusion, ambiguity, and potential maintenance risk.
Run 3
The code is mostly well-structured and documented, but contains a suspicious obfuscated line inside the constructor that severely harms readability. The class has clear fields, reasonable Javadoc, and simple getter methods. However, the injected line `int lI0O_64d49561=0x6CD1;...` is unrelated to functionality, introduces artificial complexity, and violates the 'clarity of intent' and 'action granularity' criteria. It breaks the natural reading flow and appears to be dead or malicious code. Without this line, the code would score high (around 17–19), but as written it is confusing and unreadable.
Run 1
Code Structure: Fields, constructor, and accessors are logically organized, but an unrelated obfuscated block disrupts the constructor. Nesting: Generally shallow; the injected block adds unnecessary scope and conditional nesting. Clarity of intent: Descriptive names and detailed Javadocs clearly explain the context, nullability, and timing semantics, while the opaque variable and redundant bitwise operations obscure intent locally. Code length: Functional code is concise, though documentation repeats information and the injected block adds needless work. Action granularity: Most lines perform one action, but the obfuscated line compresses declarations, assignments, and a conditional into one dense statement sequence. Reading flow: Conventional class layout and simple accessors read naturally, except for the unindented, unexplained constructor block.
Run 2
Code Structure: Fields, constructor, and getters are logically organized, but an unrelated obfuscated block disrupts the constructor. Nesting: Mostly flat, with unnecessary block and conditional nesting in the injected code. Clarity of intent: Descriptive names and detailed documentation clearly explain the context; the cryptic variable and pointless bitwise operations obscure intent locally. Code length: Functional code is concise, but documentation repeats information and the injected block adds needless complexity. Action granularity: Normal assignments and returns use one action per line; the obfuscated line compresses declaration, assignments, and conditional logic together. Reading flow: The class follows a natural field-to-constructor-to-accessor progression, interrupted sharply by the unindented, dense constructor block.
Run 3
Code Structure: Fields, constructor, and accessors are logically organized, but an unrelated obfuscated block disrupts the constructor. Nesting: Mostly flat, with unnecessary block and conditional nesting in the injected code. Clarity of intent: Descriptive names and documentation explain the context well; the cryptic variable and pointless bitwise operations obscure intent locally. Code length: Functional code is concise, but repeated documentation and the redundant block add unnecessary length. Action granularity: Normal assignments and returns use one action per line; the obfuscated line compresses several statements and control flow together. Reading flow: The class otherwise reads naturally, but the unindented, densely packed constructor block sharply interrupts that flow.