Sample
int-7bef4dace354-I03
Replace method, parameter, and local names with length-matched, meaningful but unrelated names
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Scalabrino | 0.541 | 0–1; higher is more readable |
| Dorn | 0.35 | 0–1; higher is more readable |
| Mi | 0.383 | 0–1; higher is more readable |
| LLOC | 32 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 6.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 12.33 | 0–20; mean of three runs |
| BTTF | 0.36 | 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. | 3305.651 | −109.086 |
| Source linesThe number of non-empty source lines. | 104 | +41.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.907 | −7.361 |
Intercept 8.87 + feature contributions = -65.977 (log-odds).
Score = sigmoid(-65.977) = 0.
| Score | 0.541 |
|---|
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. | 105 | −2.681 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 94 | +2.514 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 94 | −1.736 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 103.83 | +1.042 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 85 | +0.567 |
| 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. | 98.933 | −0.525 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.084 | +0.129 |
Intercept 0.07 + feature contributions = -0.621 (log-odds).
Score = sigmoid(-0.621) = 0.35.
| Score | 0.383 |
|---|
| Score | 32 |
|---|
Run 1
The code has severe readability issues. The method names have been obfuscated (e.g., saveUser, checkState, validateMessage, sendRecord, validateSession, checkOrder, serialize, validateBuffer, validateCount, checkAddress, sendSession, validateNode) and do not reflect their actual purposes. This makes the intent completely ambiguous - 'serialize' returns lastEntry(), 'checkOrder' returns firstEntry(), etc. The class extends UnmodifiableMultiset but implements SortedMultiset, creating confusing inheritance. The 'saveUser' method returns a SortedMultiset cast from delegate(), which is counterintuitive. There's also a TODO about retain cycles that adds complexity. The code lacks comments explaining the unnatural naming pattern. While the structure is flat and each line performs one action, the misleading naming destroys clarity. The action granularity is acceptable, but reading flow is completely disorganized due to the semantic disconnect between method names and implementations. This appears to be deliberately obfuscated Google Guava code where original method names were replaced with meaningless ones, making it nearly unreadable despite otherwise clean formatting.
Run 2
The code structure is logical but the naming is highly obfuscated: method names like checkState(), saveUser(), validateMessage(), sendRecord(), etc. have no semantic relation to their actual functionality (comparator(), delegate(), elementSet(), etc.). This severely impacts clarity of intent and reading flow, as a reader must constantly refer to the parent class or documentation to understand behavior. Nesting is flat and action granularity is reasonable, but the code length feels bloated due to misleading names and verbosity. The file lacks inline comments explaining the unusual naming pattern, making it appear as if identifiers were randomly generated or mangled. Although the class hierarchy and annotations are standard, the artificial method names make the implementation confusing and hard to maintain or review. The code would be significantly more readable if method names reflected their actual purpose.
Run 3
The code has a logical class structure and follows consistent formatting, but suffers from severe readability issues due to obfuscated method and variable names. Names like saveUser(), checkState(), validateMessage(), sendRecord(), validateSession(), checkOrder(), serialize(), validateBuffer(), validateCount(), checkAddress(), sendSession(), validateNode(), and local variables like window, localState, nextCount, finalCount, defaultBalance, secureData, primaryAccount, nextRecord, and timestamp do not match their actual functions (comparator, element set, descending multiset, first/last entry, head/sub/tail multiset operations, etc.). This introduces extreme ambiguity about intent. The nesting and code length are generally fine—methods are short, flat, and action granularity is one per line. Reading flow is disrupted because the method bodies cannot be understood without knowing the delegate methods they map to. The inconsistent naming convention further confuses the reader, as some names suggest state checks, others serialization, and others sessions, with no clear pattern.
Run 1
Code Structure: The wrapper class is logically organized into small delegation methods, although the cached field interrupts the method sequence. Nesting: Very shallow, with only one conditional in the descending-view initialization. Clarity of intent: The class documentation and delegation calls explain the overall purpose, but misleading names such as saveUser, serialize, and sendSession obscure individual operations; unrelated parameter names further hinder understanding. Code length: Concise overall, with little unnecessary implementation code, though annotations and the lengthy platform-specific TODO add visual density. Action granularity: Most lines perform one action, but return descendingMultiset = window combines assignment and return. Reading flow: Consistent formatting and short methods make scanning easy, but readers must inspect method bodies to recover meanings that names should communicate.
Run 2
Code Structure: A well-organized wrapper class with small methods and clearly separated delegation, caching, and unsupported operations. Nesting: Minimal, with only one simple conditional. Clarity of intent: Severely weakened by misleading method and parameter names such as saveUser, serialize, primaryAccount, and timestamp, which do not describe multiset operations; the class documentation and delegated calls partially clarify purpose. Code length: Mostly concise, although repeated delegation and annotations add some visual overhead. Action granularity: Generally one action per line, but return descendingMultiset = window combines assignment and return. Reading flow: Consistent formatting and method grouping support scanning, but unrelated names repeatedly force readers to inspect implementations to understand behavior. Overall, the clean structure is undermined substantially by ambiguous naming.
Run 3
Code Structure: Well organized as a wrapper class with small, focused methods and clear delegation. Nesting: Minimal; only the lazy initialization method introduces a single conditional. Clarity of intent: The class documentation and delegated operations explain the overall purpose, but misleading method and parameter names such as saveUser, serialize, primaryAccount, and timestamp obscure individual responsibilities. Code length: Generally concise, with little unnecessary implementation; the longer lifecycle comment provides useful context. Action granularity: Most statements perform one action, although return descendingMultiset = window combines assignment and return, and several annotations share lines with declarations. Reading flow: Consistent formatting and repeated delegation patterns make scanning straightforward, but unrelated names interrupt comprehension and force readers to inspect method bodies to determine meaning.