Sample
int-79535a097f5d-I07
Insert deterministic runtime-dead branches into callable bodies
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.606 | 0–1; higher is more readable |
| Dorn | 0.167 | 0–1; higher is more readable |
| Mi | 0.035 | 0–1; higher is more readable |
| LLOC | 39 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 7.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 14.33 | 0–20; mean of three runs |
| BTTF | 0.257 | 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. | 3675.779 | −121.301 |
| Source linesThe number of non-empty source lines. | 96 | +38.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. | 4.973 | −7.46 |
Intercept 8.87 + feature contributions = -81.49 (log-odds).
Score = sigmoid(-81.49) = 0.
| Score | 0.606 |
|---|
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. | 150.969 | −2.729 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 97 | −2.398 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 85 | +2.203 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 151 | +1.632 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 84 | −1.507 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 95.849 | +0.93 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.077 | +0.196 |
Intercept 0.07 + feature contributions = -1.604 (log-odds).
Score = sigmoid(-1.604) = 0.167.
| Score | 0.035 |
|---|
| Score | 39 |
|---|
Run 1
The code has reasonable structure with clear method separation and descriptive names, but readability is severely impacted by several issues. The most problematic are the obfuscated assertion checks (e.g., `if (((0x81F5 ^ 0x81F5) != 0)) { throw new AssertionError(); }`) that appear randomly throughout the code—these are cryptic, meaningless, and disrupt reading flow. The static initializer and properties method have acceptable logic, but the exception variable named 'swallow' is unusual. While the class follows a logical organization with clear intent in method names and comments, the excessive blank lines after opening braces and the mysterious XOR-based assertions make the code feel cluttered and unprofessional. Nesting is minimal (good), but action granularity suffers from the unnecessary assertion lines breaking the natural flow. The code would be significantly more readable without the obfuscated lines and with more consistent formatting.
Run 2
The code has reasonable structure and clear intent for a Kafka changelog config class, with Javadocs explaining the retention logic. But it is severely undermined by multiple 'AssertionError' spikes inserted in blocks that serve no purpose, add nesting, and are confusing to a reader. Several methods have these odd duplicate line checks at the top, which disrupts natural reading flow and obscures otherwise straightforward methods like equals, hashCode, toString, and properties. The static initializer and map merging logic are reasonably clear, though the long putAll chain could be refactored. Action granularity is mostly one-per-line, but the injected assertion lines break that. The nesting depth is minimal. Overall, the core logic is readable, but the artificial assertions push the score well below what the base code would otherwise deserve.
Run 3
The code has a clear class purpose and follows standard Java structure, but readability is severely compromised by noise. The numerous `if (((0x... ^ 0x...) != 0)) { throw new AssertionError(); }` lines are meaningless, break reading flow, and add clutter. There are also multiple actions on single lines in `equals` and `hashCode`, reducing action granularity clarity. Nesting is mostly flat, which is good, but the inserted assertion lines disrupt logical organization. The static initializer block is reasonable, though the long line for putting cleanup policy is overly dense. Intent of the retention logic is somewhat clear with comments, but the overall effect of the injected dead code makes the file look obfuscated and untrustworthy. Code length is inflated by unnecessary lines. Reading flow is disorganized due to random assert-like statements before method bodies, making it hard to scan the actual logic. Without those injected lines the code would be moderately readable, perhaps around 14-15, but as presented it falls below acceptable clarity thresholds.
Run 1
Code Structure: The class is logically organized into defaults, construction, configuration, and standard object methods. Nesting: Mostly shallow, with manageable try/catch nesting inside one conditional. Clarity of intent: Descriptive names and documentation explain configuration precedence and retention handling, but repeated, always-false hexadecimal XOR assertions are distracting and suggest unexplained behavior. Code length: Mostly appropriate, although these redundant assertions add unnecessary code. Action granularity: Most lines perform one action; the inline assertion blocks compress condition checking and throwing onto single lines. Reading flow: The main logic progresses naturally, but unindented assertions interrupt every method, and some long expressions reduce scanability. Removing the assertions and improving line wrapping would substantially improve readability.
Run 2
Code Structure: Logical organization separates defaults, construction, configuration, and standard object methods. Nesting: Mostly flat, with only a modest if/try-catch combination. Clarity of intent: Descriptive names and documentation explain configuration precedence and retention handling, but repeated always-false hexadecimal XOR assertions introduce confusing, purposeless noise. Code length: Generally concise, though those assertions add unnecessary repetition and some lines are overly long. Action granularity: Most lines perform one action; the inline assertion blocks combine condition checking and throwing on a single line. Reading flow: Method order and configuration updates flow naturally, but unindented assertions repeatedly interrupt that flow and undermine otherwise consistent formatting.
Run 3
Code Structure: Methods and fields are logically organized, with configuration logic separated from standard object methods. Nesting: Mostly shallow; the retention conditional with try/catch remains easy to follow. Clarity of intent: Descriptive names and documentation explain configuration precedence and retention handling, but repeated hexadecimal XOR checks are meaningless distractions. Code length: Core logic is reasonably concise, though redundant assertion checks add unnecessary length and some lines are overly long. Action granularity: Most lines perform one action, but inline condition-and-throw statements compress multiple elements onto one line. Reading flow: Conventional Java organization supports natural reading, while unindented checks repeatedly interrupt the flow and undermine otherwise consistent formatting.