Sample
int-9cb1c5c0031a-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.876 | 0–1; higher is more readable |
| Dorn | 0.512 | 0–1; higher is more readable |
| Mi | 0.473 | 0–1; higher is more readable |
| LLOC | 16 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 8.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 14.67 | 0–20; mean of three runs |
| BTTF | 0.277 | 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. | 1317.712 | −43.484 |
| Source linesThe number of non-empty source lines. | 56 | +22.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. | 5.172 | −7.758 |
Intercept 8.87 + feature contributions = -19.972 (log-odds).
Score = sigmoid(-19.972) = 0.
| Score | 0.876 |
|---|
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. | 57 | −0.982 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 96.982 | +0.76 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 41 | +0.681 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 41 | −0.52 |
| 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. | 96.965 | −0.442 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 55.847 | +0.371 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.086 | +0.108 |
Intercept 0.07 + feature contributions = 0.046 (log-odds).
Score = sigmoid(0.046) = 0.512.
| Score | 0.473 |
|---|
| Score | 16 |
|---|
Run 1
The code has reasonable structure and follows a common pattern, but contains a severe readability issue: a nonsensical obfuscated line inserted in the first name() method (dead code with meaningless variable name and bitwise operations). This destroys clarity of intent and reading flow. Otherwise, method organization is logical, nesting is minimal, and actions are mostly one per line. However, duplication between the two overloads could be reduced, and the pointless line makes the code unnecessarily confusing and longer. Overall, the code would be readable if the obfuscated line were removed.
Run 2
The code is generally structured with clear intent (a factory for view assertions) and reasonable method names, but it contains a severe readability issue: a meaningless obfuscated line inside the first `name(Matcher)` method. This unexplained variable manipulation (`int lI0O_44a83a01=0x302F; ...`) breaks reading flow, adds confusion, and violates action granularity. Other problems include duplicate null-check and failure logic across both overloaded methods, which could be extracted for conciseness. However, nesting is minimal, import organization is standard, and Javadocs are present. The overall structure is logical, but the injected code severely undermines clarity of intent and makes the code hard to read and maintain.
Run 3
The code has decent overall structure (clear class and method separation) and short methods, but it is harmed by an obfuscated junk line inside the first name() method: `{int lI0O_44a83a01=0x302F;lI0O_44a83a01=(lI0O_44a83a01<<1)^(lI0O_44a83a01>>>1);lI0O_44a83a01&=0;}`. This adds no purpose, breaks reading flow, and makes intent ambiguous. Nesting is mostly flat, but repeated null-handling logic is duplicated rather than extracted. The two overloads are concise, but the lambda bodies still combine null-check and assertion flow. Overall, without the junk line it would be quite readable; with it, clarity and maintainability drop significantly.
Run 1
Code Structure: The class is logically organized into two documented assertion factory methods, but an unrelated computation disrupts the first method. Nesting: Lambda bodies and null checks are shallow; the extraneous block adds needless nesting. Clarity of intent: Method names, types, and documentation clearly convey view-name assertions, while the cryptic variable and bitwise operations have no apparent purpose. Code length: The meaningful implementation is concise, though the dead computation adds noise and the null-check logic is duplicated. Action granularity: Most lines contain one action, but the injected block compresses a declaration and two assignments onto one line. Reading flow: Both assertion methods otherwise follow a natural retrieve-check-assert sequence; inconsistent formatting and the unexplained block interrupt that flow.
Run 2
Code Structure: The class is logically organized into two documented assertion overloads, but an unrelated obfuscated block disrupts the first method. Nesting: Lambdas and null checks introduce only shallow nesting; the extra block is unnecessary. Clarity of intent: Descriptive method and variable names, documentation, and assertion messages clearly explain the main purpose, while the cryptic variable and pointless bitwise operations obscure intent. Code length: The implementation is mostly concise, with minor duplication between overloads and an entirely redundant computation. Action granularity: Most statements occupy separate lines, but the injected block compresses several actions onto one line. Reading flow: Both overloads follow a natural retrieve-check-assert sequence; inconsistent formatting and the unexplained block interrupt otherwise straightforward reading.
Run 3
Code Structure: The class is logically organized into two clearly documented assertion overloads, but an unrelated computation block disrupts the first method. Nesting: Lambdas and simple null checks keep nesting shallow; the extra block adds unnecessary scope. Clarity of intent: Method names, parameter names, and documentation clearly express view-name assertions, while the cryptic variable and unused bitwise calculations obscure intent locally. Code length: The implementation is concise overall, with minor duplication and an entirely unnecessary computation. Action granularity: Most statements occupy separate lines, but the injected block compresses several operations onto one line. Reading flow: Both overloads follow a natural retrieve-check-assert sequence, interrupted by the poorly formatted, irrelevant block.