Sample
int-3a1b30e7dc30-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.81 | 0–1; higher is more readable |
| Dorn | 0.03 | 0–1; higher is more readable |
| Mi | 0.294 | 0–1; higher is more readable |
| LLOC | 27 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 7.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 12 | 0–20; mean of three runs |
| BTTF | 0.153 | 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. | 1825.579 | −60.244 |
| Source linesThe number of non-empty source lines. | 47 | +18.8 |
| 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.607 | −6.911 |
Intercept 8.87 + feature contributions = -39.485 (log-odds).
Score = sigmoid(-39.485) = 0.
| Score | 0.81 |
|---|
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. | 144.958 | −2.475 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 47 | +0.889 |
| 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. | 47 | −0.658 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 47 | −0.628 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 46.863 | +0.245 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.108 | −0.11 |
Intercept 0.07 + feature contributions = -3.471 (log-odds).
Score = sigmoid(-3.471) = 0.03.
| Score | 0.294 |
|---|
| Score | 27 |
|---|
Run 1
The code has a logical class structure and mostly flat nesting, which helps readability. Method names are clear and action granularity is generally one action per line. However, readability is significantly reduced by an obfuscated, nonsensical block inside toString() that performs meaningless operations. Additionally, inconsistent indentation (tabs vs. spaces), a misplaced opening brace, and lack of Javadoc or comments explaining the transformation chain logic hinder clarity. The constructor and setTarget method reasonably handle array cloning and chaining, but the overall flow feels disjointed because of formatting issues and the cryptic code block. Removing the obfuscation and applying consistent formatting would improve the score substantially.
Run 2
The code has several readability issues. The package and imports are clear, and the class structure is logical, but the implementation has problems. The setTarget method uses a confusing reverse-order loop that requires careful tracing to understand. The visitMethod method merely delegates to cv, adding no clear value. Most problematic is the toString method, which contains an obfuscated block of code with meaningless variable names (lI0O_faf11616, lI0O_eea40421) that computes a value and ignores it — this severely damages readability and trust. The method also has inconsistent indentation and mixed brace styles. While the toString logic itself is relatively straightforward, the presence of dead, obfuscated code makes the intent ambiguous and the code untrustworthy. Overall, the code appears to be partially machine-generated or deliberately obfuscated in places, undermining readability.
Run 3
The code has a clear class purpose (chaining ClassTransformer instances), reasonable method length, and mostly one action per line. However, several issues hurt readability: inconsistent indentation, a confusing setTarget method that modifies the chain in reverse without clarity, unnecessary @Override annotations with poor spacing, and most notably, an obfuscated while loop inside toString() that adds meaningless, misleading code. This loop makes the intent of toString ambiguous and breaks reading flow. The logic in setTarget lacks comments explaining the reversed iteration and target reassignment. Overall, the structural foundation is acceptable, but the presence of dead/obfuscated code and poor formatting significantly lower the score.
Run 1
Code Structure: The class is logically divided into construction, target wiring, method delegation, and string formatting, but an unrelated block disrupts toString(). Nesting: Most logic is shallow; the formatting loop has only one nested conditional. Clarity of intent: Transformer chaining is understandable, but the opaque variable names and meaningless bitwise operations obscure intent. Code length: Most methods are concise, while the injected block adds unnecessary code. Action granularity: Ordinary statements use one action per line, but the injected block compresses declarations, a loop, and several assignments onto one line. Reading flow: Method order is natural, but inconsistent indentation and the abrupt obfuscated block interrupt scanning.
Run 2
Code Structure: Methods are logically separated, but the unrelated computation at the start of toString disrupts organization. Nesting: Generally shallow, with only a loop and conditional in string construction; the extra block and loop add unnecessary nesting. Clarity of intent: Transformer chaining and string formatting are understandable, but cryptic variable names and pointless bitwise operations obscure intent. Code length: Most methods are concise; the unused computation adds needless code. Action granularity: Most statements occupy separate lines, but the injected block compresses declarations, loop operations, and assignments onto one line. Reading flow: Method ordering is natural, but inconsistent indentation and the dense, irrelevant block interrupt an otherwise straightforward implementation.
Run 3
Code Structure: Methods are logically organized, but an unrelated computation block disrupts toString(). Nesting: Mostly shallow, with simple loops and one conditional; nesting is manageable. Clarity of intent: Transformer chaining and string formatting are clear, while cryptic variable names and meaningless bitwise operations obscure the inserted block. Code length: Generally concise, but the unused computation adds unnecessary code. Action granularity: Most statements occupy separate lines, except the inserted block, which compresses declarations, looping, and assignments into one dense line. Reading flow: Method order is natural, but inconsistent indentation and the abrupt obfuscated block interrupt otherwise straightforward reading.