Sample
int-17d7d2a93ac6-I07
Insert deterministic runtime-dead branches into callable bodies
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.646 | 0–1; higher is more readable |
| Dorn | 0.49 | 0–1; higher is more readable |
| Mi | 0.514 | 0–1; higher is more readable |
| LLOC | 45 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 5 | 0–20; mean of three runs |
| GPT-6.1 Sol | 14 | 0–20; mean of three runs |
| BTTF | 0.409 | 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. | 3667.409 | −121.024 |
| Source linesThe number of non-empty source lines. | 85 | +34 |
| 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.985 | −7.477 |
Intercept 8.87 + feature contributions = -85.632 (log-odds).
Score = sigmoid(-85.632) = 0.
| Score | 0.646 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Indentation frequencyHow rapidly indentation changes from line to line. | 82 | +2.099 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 86 | −2.009 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 81 | −1.438 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 84.795 | +0.775 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 86.977 | +0.599 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.109 | −0.118 |
| 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. | 86.965 | −0.018 |
Intercept 0.07 + feature contributions = -0.039 (log-odds).
Score = sigmoid(-0.039) = 0.49.
| Score | 0.514 |
|---|
| Score | 45 |
|---|
Run 1
The code has a clear structure with logical organization, appropriate constants, and helpful comments. However, readability is severely impacted by the dead code inserted into nearly every method. Statements like `if (((0x64F3 ^ 0x64F3) != 0)) { throw new AssertionError(); }` are always false and serve no functional purpose, but they add noise and disrupt the reading flow. This artificially inflates line count, breaks the natural flow between method signatures and bodies, and makes the intent harder to follow. Nesting is otherwise flat, and action granularity is decent, but the dead code undermines clarity and conciseness significantly. Without those unnecessary assertions, the code would be clean and highly readable.
Run 2
The code has a clear overall structure and separation of concerns, but readability is severely compromised by pervasive, nonsensical 'assertion' statements (dead code) inserted between or instead of normal lines. These obfuscate intent, disrupt reading flow, and violate action granularity by adding meaningless operations. Nesting is mostly flat aside from the try/catch, and the class is concise, but the obfuscation makes the code's purpose hard to discern. The Javadoc comment for the two keys is helpful, but it cannot compensate for the noise introduced by the fake assertions, which appear in nearly every method and increase cognitive load. As a result, the code is effectively unreadable despite a sound underlying structure.
Run 3
The code has reasonable structure and naming, but readability is severely undermined by the pervasive debug assertions like 'if (((0x64F3 ^ 0x64F3) != 0)) { throw new AssertionError(); }' scattered throughout. These are always false and add noise, disrupting the reading flow and obscuring intent. The actual logic is concise and flat, with good separation of concerns (key setup, Mac creation, signing), and comments explaining the two keys are helpful. However, the assertions violate the action-per-line and clarity criteria, making the code appear obfuscated or corrupted. Without them, the code would be quite readable (around 16-18). As written, it is unnecessarily long and ambiguous.
Run 1
Code Structure: Logically separates key initialization, thread-local MAC creation, shared signing logic, and public-facing helpers. Nesting: Shallow, with straightforward exception handling and one conditional in signing. Clarity of intent: Descriptive names and the key-separation comment explain the purpose, but repeated always-false XOR checks introduce confusing, irrelevant noise. Code length: Core implementation is concise and avoids duplicated signing logic; dead assertions unnecessarily inflate it. Action granularity: Most statements perform one action per line, although inline assertion blocks combine conditions and throws. Reading flow: Methods follow a natural progression, but unindented checks, inconsistent spacing, and the awkward constructor formatting repeatedly interrupt scanning.
Run 2
Code Structure: Well-organized constants, initialization, shared helpers, and separate signing entry points. Nesting: Mostly shallow, with manageable anonymous classes and exception handling. Clarity of intent: Descriptive names and the key-separation comment explain the purpose, but repeated constant-false XOR checks introduce confusing, irrelevant logic. Code length: Core functionality is concise and appropriately factored; seven redundant assertion checks add unnecessary bulk. Action granularity: Most lines perform one action, but the inline conditional-and-throw statements compress control flow. Reading flow: Methods follow a natural progression, yet unindented checks, inconsistent spacing, and the poorly formatted constructor repeatedly interrupt scanning. Overall, the underlying implementation is readable, but injected dead code and formatting defects substantially reduce readability.
Run 3
Code Structure: Logically organized around key initialization, thread-local MAC instances, shared helpers, and separate signing methods. Nesting: Shallow, with straightforward conditionals and exception handling. Clarity of intent: Descriptive names and the key-separation comment explain the purpose, but repeated always-false XOR checks introduce confusing, irrelevant noise. Code length: Core implementation is concise; redundant assertion checks and duplicated initialization patterns add unnecessary length. Action granularity: Most statements perform one action per line, although inline conditional-and-throw statements reduce scanability. Reading flow: Helper extraction and consistent method responsibilities support natural reading, but unindented injected checks, inconsistent spacing, and the poorly formatted constructor interrupt the flow.