Sample
int-0dcccf63f789-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.498 | 0–1; higher is more readable |
| Dorn | 0.116 | 0–1; higher is more readable |
| Mi | 0.281 | 0–1; higher is more readable |
| LLOC | 19 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 11.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 13 | 0–20; mean of three runs |
| BTTF | 0.159 | 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. | 2854.387 | −94.195 |
| Source linesThe number of non-empty source lines. | 81 | +32.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.299 | −7.948 |
Intercept 8.87 + feature contributions = -60.873 (log-odds).
Score = sigmoid(-60.873) = 0.
| Score | 0.498 |
|---|
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. | 169.988 | −3.535 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 170 | +1.938 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 82 | −1.867 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 63 | +1.442 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 63 | −1.025 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 80.901 | +0.721 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.074 | +0.226 |
Intercept 0.07 + feature contributions = -2.029 (log-odds).
Score = sigmoid(-2.029) = 0.116.
| Score | 0.281 |
|---|
| Score | 19 |
|---|
Run 1
The code is generally well-structured and readable. It has clear class-level documentation, logical method ordering, and minimal nesting. The constructors are clean and the decode methods have clear intent. However, readability is significantly impacted by the obfuscated while-loop in canDecode, which has no functional purpose and should be removed. Additionally, the decode method that returns flux throws an exception inline rather than using a separate line, slightly reducing clarity.
Run 2
The code is largely readable but contains a deliberately inserted obfuscated block in the canDecode method: an empty while loop with cryptic variable names and no functional purpose. This severely violates clarity of intent, reading flow, and action granularity. Beyond that, the class is well-structured: imports are organized, methods are concise and flat, Javadoc is clear, and each method generally performs one logical action. However, the artificial code bloat in canDecode makes the overall file confusing and unreadable. If that block were removed, the score would be around 17-18. The presence of dead obfuscated code forces the reader to waste time deciphering meaningless logic and breaks the natural reading flow. Therefore, the final score is low despite otherwise good practices.
Run 3
The code demonstrates clear structure with logical class organization, appropriate use of constructors, and reasonable method separation. However, there is a significant readability issue: an obfuscated line of dead code (a meaningless while loop with obfuscated variable names) inside the canDecode method. This is confusing, serves no purpose, and severely impacts clarity of intent. The nesting level is low, which is positive, and the reading flow is generally natural. Action granularity is mostly appropriate, although the decode method packs several operations into one line. Code length is concise. The class has clear documentation, and naming conventions are followed. Overall, the code would be quite readable if the obfuscated line were removed, but its presence creates ambiguity and reduces the score.
Run 1
Code Structure: Fields, constructors, and decoder methods are logically organized, but an unrelated computation block disrupts canDecode. Nesting: Generally shallow, with a straightforward try/finally; the inserted block adds unnecessary nesting and a loop. Clarity of intent: Documentation, descriptive names, and explicit exceptions clearly explain decoding behavior, while opaque variable names and pointless bitwise operations obscure the inserted block's purpose. Code length: Most implementation is concise, but the extraneous computation adds unjustified code. Action granularity: Most statements occupy separate lines; the inserted block compresses declarations, looping, mutations, and assignments onto one line. Reading flow: Conventional method ordering and resource cleanup support natural reading, but the unindented, densely packed block and long method signatures interrupt scanning.
Run 2
Code Structure: The class is logically organized into constants, constructors, and decoder methods, but an unrelated block disrupts canDecode. Nesting: Most methods are shallow; the injected block adds unnecessary scope and loop nesting. Clarity of intent: Documentation and descriptive names clearly explain decoding behavior, while cryptic variable names and no-op bitwise calculations obscure the added block's purpose. Code length: The functional implementation is concise, but the meaningless loop adds avoidable code. Action granularity: Most statements occupy separate lines; the injected block compresses declarations, iteration, and assignments into one dense line. Reading flow: Standard Java organization and straightforward resource cleanup support natural reading, but inconsistent formatting, the obfuscated block, and long method signatures interrupt it.
Run 3
Code Structure: Fields, constructors, and decoder overrides are logically organized, but an unrelated computation block disrupts canDecode. Nesting: Most methods are flat; the added block and while loop introduce unnecessary nesting. Clarity of intent: Documentation, descriptive method names, and explicit buffer cleanup clarify the decoder's purpose, while cryptic variable names and meaningless bitwise operations obscure intent. Code length: The functional implementation is concise, but the extraneous loop adds unjustified code. Action granularity: Most statements perform one action per line; the inserted block compresses declarations, looping, mutations, and assignments onto one line. Reading flow: The class generally follows a natural progression, but the unindented dense block sharply interrupts it, and long method signatures slightly hinder scanning.