Sample
int-9bf5ef40ca0f-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.564 | 0–1; higher is more readable |
| Dorn | 0.273 | 0–1; higher is more readable |
| Mi | 0.776 | 0–1; higher is more readable |
| LLOC | 55 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 15.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 16 | 0–20; mean of three runs |
| BTTF | 0.248 | 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. | 4878.683 | −160.997 |
| Source linesThe number of non-empty source lines. | 149 | +59.6 |
| 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.881 | −7.322 |
Intercept 8.87 + feature contributions = -99.848 (log-odds).
Score = sigmoid(-99.848) = 0.
| Score | 0.564 |
|---|
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. | 149 | −4.239 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 143 | +4.209 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 143 | −2.861 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 148.653 | +1.668 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 95.693 | +0.74 |
| 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.92 | −0.44 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.11 | −0.128 |
Intercept 0.07 + feature contributions = -0.981 (log-odds).
Score = sigmoid(-0.981) = 0.273.
| Score | 0.776 |
|---|
| Score | 55 |
|---|
Run 1
The code is logically organized and follows Guava's typical style, but it has readability issues. The class structure is clear, with lazy initialization patterns and delegation to forwardMultiset() making the intent mostly understandable. Nesting is minimal except for the inner EntrySetImpl class, which is justified. However, the code is unnecessarily long due to verbose boolean expressions in lines like `{boolean lI0O_88498ba8=((0xC5B7^0xC5B7)!=0);lI0O_88498ba8=!(!lI0O_88498ba8);}`, which obfuscate the code and disrupt reading flow. Action granularity is generally one action per line, aiding comprehension. The delegation pattern makes method purposes clear, but the weird boolean assignment and null-check repetitions reduce clarity. Overall, it's readable for experienced Java developers familiar with Guava conventions, but the dead code and verbosity prevent a higher score.
Run 2
The code is generally well-structured, following a clear adapter pattern for a descending multiset. Methods are short, focused, and delegate cleanly to the forward multiset, resulting in flat nesting and clear intent. The lazy initialization pattern is consistent and readable. However, one method (headMultiset) contains a stray, meaningless line with encoded variable names and integer XOR operations, which severely disrupts readability and appears to be injected or obfuscated code. Additionally, some ternary expressions and dense declarations slightly reduce clarity. Overall, the code is readable and maintainable except for that anomalous line, which prevents a higher score.
Run 3
The code is generally well-structured and readable, with clear purpose for each method and consistent lazy initialization patterns. However, there is one major issue: the obfuscated boolean assignment line in headMultiset() is completely out of place and hurts readability significantly. The method chaining and delegation logic is clear, but some methods like subMultiset could benefit from better formatting. The class has a single responsibility and follows established patterns, though the transient lazy-init fields add some complexity. Overall, the code is maintainable despite the suspicious injected line that appears to be deliberately confusing.
Run 1
Code Structure: Well-organized implementation with focused methods, delegation, and a contained entry-set class. Nesting: Mostly flat; lazy initialization and the local class introduce only modest nesting. Clarity of intent: Descriptive method names and documentation clearly communicate descending-view behavior, but the meaningless boolean block in headMultiset obscures intent. Code length: Generally concise, with necessary interface overrides; the boolean block adds unnecessary code. Action granularity: Most statements perform one action, but the boolean block packs multiple operations onto one line, and assignment within return expressions slightly reduces clarity. Reading flow: Consistent formatting and straightforward reversed delegation support natural reading, interrupted by the unindented obfuscated block and slightly inconsistent caching styles.
Run 2
Code Structure: Well-organized forwarding methods and a focused local entry-set implementation provide a coherent structure. Nesting: Mostly flat, with shallow lazy-initialization conditionals and one manageable local class. Clarity of intent: Documentation, descriptive names, and symmetric first/last and head/tail delegation clearly convey descending behavior. However, the cryptic, unused boolean block in headMultiset has no meaningful purpose and distracts substantially. Code length: Generally concise; most methods are short wrappers, though the injected block adds unnecessary code. Action granularity: Usually one action per line, but the boolean block compresses declarations and assignments, and some cache initialization combines assignment with return. Reading flow: Consistent formatting and method patterns support natural reading, interrupted by the unindented boolean block and slightly inconsistent lazy-cache idioms.
Run 3
Code Structure: Well-organized overrides and small methods clearly implement a descending multiset through delegation. Nesting: Mostly flat, with simple cache checks and one manageable local class. Clarity of intent: Descriptive names and documentation explain reversed operations, but the meaningless boolean block in headMultiset introduces confusing noise. Code length: Generally concise; most methods contain only the necessary forwarding logic, although the injected block is unnecessary. Action granularity: Usually one action per line, but the boolean block compresses several statements, and assignment within return expressions slightly obscures caching behavior. Reading flow: Consistent formatting and predictable method patterns support easy scanning, interrupted by the unindented boolean block and somewhat dense annotations and generic signatures.