Sample
int-2725ac0c0c56-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.71 | 0–1; higher is more readable |
| Dorn | 0.509 | 0–1; higher is more readable |
| Mi | 0.206 | 0–1; higher is more readable |
| LLOC | 9 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 14 | 0–20; mean of three runs |
| GPT-6.1 Sol | 14.67 | 0–20; mean of three runs |
| BTTF | 0.332 | 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. | 1258.168 | −41.52 |
| Source linesThe number of non-empty source lines. | 63 | +25.2 |
| Byte entropyHow varied the bytes in the source text are. Repeated bytes give a lower value; a more even mixture gives a higher value. | 5.268 | −7.903 |
Intercept 8.87 + feature contributions = -15.352 (log-odds).
Score = sigmoid(-15.352) = 0.
| Score | 0.71 |
|---|
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. | 64 | −1.23 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 103.984 | +0.873 |
| 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. | 103.969 | −0.738 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.046 | +0.498 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 35 | +0.473 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 62.924 | +0.47 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 35 | −0.382 |
Intercept 0.07 + feature contributions = 0.034 (log-odds).
Score = sigmoid(0.034) = 0.509.
| Score | 0.206 |
|---|
| Score | 9 |
|---|
Run 1
The code is well-structured with clear class documentation, proper imports, and logical constructor chaining. Javadocs explain intent clearly, and methods follow Spring's conventions. However, a suspicious obfuscated line with meaningless variable manipulation (lI0O_49b9d68c) appears in the second constructor, disrupting readability and flow. Nesting is flat, and each method performs a single action. Overall length is concise and appropriate. The anomalous line significantly undermines clarity and trust in the codebase.
Run 2
The code is mostly clear with logical class structure, good Javadoc, and flat nesting. However, it contains an obfuscated line of dead code inside the constructor that severely harms readability. This line has no clear purpose, uses cryptic variable names and bitwise operations, and disrupts the reading flow. Other issues include an unnecessary blank line after the constructor call, and a minor formatting inconsistency with the opening brace placement. The class's intent and method responsibilities are well-defined, and actions are generally one per line. Removing the obfuscated line and cleaning up formatting would make this code highly readable.
Run 3
The code is generally well-structured and readable, with clear Javadoc comments, logical organization, and shallow nesting. However, a confusing obfuscated line appears inside the second constructor: '{int lI0O_49b9d68c=0xF46C;lI0O_49b9d68c=(lI0O_49b9d68c<<1)^(lI0O_49b9d68c>>>1);lI0O_49b9d68c&=0;}'. This line serves no apparent purpose, breaks the reading flow, and violates the 'one action per line' and 'clarity of intent' criteria. It appears to be an accidental insertion or an attempt at obfuscation. Aside from this anomaly, the code follows standard Spring patterns: constructors delegate appropriately, assertions validate required configurations, and the class is concise.
Run 1
Code Structure: Constructors and the setter are logically organized, but an unrelated arithmetic block disrupts the constructor. Nesting: Minimal, with only one unnecessary nested block. Clarity of intent: Descriptive names, documentation, and explicit CBOR validation explain the converter well; the cryptic variable and discarded calculations obscure intent locally. Code length: Functional code is concise, though the arithmetic block adds needless length. Action granularity: Most statements occupy separate lines, but the injected block compresses declaration and multiple assignments onto one line. Reading flow: Documentation and conventional method ordering support natural reading, while the unindented arithmetic block abruptly interrupts it.
Run 2
Code Structure: Constructors and the setter are logically organized, but an unrelated computation block interrupts initialization. Nesting: Minimal nesting overall, with one unnecessary local block. Clarity of intent: Descriptive names, documentation, and explicit CBORFactory validation make the converter's purpose clear; the cryptic variable and discarded bitwise computation obscure intent locally. Code length: Functional implementation is concise, although the no-effect computation adds unnecessary code. Action granularity: Most statements occupy separate lines, but the injected block compresses declaration and multiple assignments onto one line. Reading flow: Constructor delegation and validation follow naturally, while the unindented computation block sharply disrupts formatting and flow.
Run 3
Code Structure: Constructors and the overridden setter are logically organized, but an irrelevant computation block disrupts the constructor. Nesting: Mostly flat, with only one unnecessary nested block. Clarity of intent: Descriptive names, documentation, and explicit CBORFactory validation clearly explain the converter; the cryptically named variable and pointless bitwise operations obscure intent locally. Code length: Functional code is concise, although the injected block adds unnecessary length. Action granularity: Most statements occupy separate lines, but the injected block compresses a declaration and multiple assignments onto one line. Reading flow: Documentation and conventional method ordering support natural reading, while inconsistent indentation and the unrelated computation interrupt it.