Sample
int-36a4bf11a172-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.66 | 0–1; higher is more readable |
| Dorn | 0.765 | 0–1; higher is more readable |
| Mi | 0.2 | 0–1; higher is more readable |
| LLOC | 5 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 5.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 13 | 0–20; mean of three runs |
| BTTF | 0.614 | 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. | 1448.816 | −47.811 |
| Source linesThe number of non-empty source lines. | 38 | +15.2 |
| 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.486 | −6.729 |
Intercept 8.87 + feature contributions = -30.469 (log-odds).
Score = sigmoid(-30.469) = 0.
| Score | 0.66 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 102 | +0.841 |
| 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. | 101.974 | −0.654 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 37 | +0.543 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 39 | −0.345 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.075 | +0.209 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 37.922 | +0.12 |
Intercept 0.07 + feature contributions = 1.182 (log-odds).
Score = sigmoid(1.182) = 0.765.
| Score | 0.2 |
|---|
| Score | 5 |
|---|
Run 1
The code structure is fundamentally compromised by misleading naming: parameters like 'message', 'currentAccount', 'pendingAccount', 'primaryAccount', 'currentSession', 'defaultSession', 'duration', 'recentCount', and 'address' appear to have been obfuscated and do not reflect their actual purpose (e.g., 'message' is a Channel, 'pendingAccount' is a DnsQueryLifecycleObserver). This severely hampers clarity of intent. While nesting is minimal and actions are generally one per line, the reading flow is unnatural due to the irrelevant domain terminology (account/session) applied to DNS query context. The code is concise, but the disconnect between names and purpose makes it difficult to read and maintain.
Run 2
The code is highly obfuscated, making readability poor. The most critical issue is the parameter naming in the constructor: names like 'message', 'defaultBalance', 'currentAccount', 'pendingAccount', 'primaryAccount', 'currentSession', 'defaultSession', 'duration', 'recentCount', and 'address' do not reflect their actual types or purposes (e.g., a Channel is named 'message', a DnsQueryLifecycleObserver is 'pendingAccount'). This completely obscures the intent. Additionally, the class structure is hard to follow due to these misleading names, even though the code is relatively flat and concise. The dispatch and validate methods are clear, but the constructor's readability is severely compromised, leaving the overall code ambiguous and confusing.
Run 3
The code is severely obfuscated by misleading parameter names. A constructor for a TCP DNS query context uses variables like 'message' for a Channel, 'currentAccount' for DnsQueryContextManager, 'pendingAccount' for lifecycle observer, 'primaryAccount' for an int (likely query ID), 'currentSession' for boolean, 'defaultSession' for long timeout, 'duration' for DnsQuestion, 'recentCount' for DnsRecord array, and 'address' for a Promise. These names completely hide the intent, making the code extremely difficult to read, maintain, or review. While the structure is flat and lines are short, the semantic corruption negates those positives. The super() call splits across lines awkwardly. Method names like 'validate()' returning 'TCP' and 'dispatch()' are similarly non-descriptive. This appears to be deliberately obfuscated code.
Run 1
Code Structure: A small, logically organized subclass with a constructor and two overrides, though unused imports add clutter. Nesting: No nested control flow, making the code easy to scan. Clarity of intent: The class name, DNS types, and TCP comment establish its general purpose, but misleading parameter names such as currentAccount, duration, and recentCount obscure their actual roles. Method names dispatch and validate do not clearly describe constructing a query and returning a protocol label. Code length: Concise overall, although the long constructor signature and superclass argument list require careful tracking. Action granularity: Each statement performs one main action; multiple parameters per line slightly reduce scanability. Reading flow: The constructor-to-overrides sequence is natural, but understanding argument mappings requires consulting the superclass.
Run 2
Code Structure: The small class is logically organized into a constructor and two overrides, although several imports are unused. Nesting: There is no nested control flow, making the code easy to scan. Clarity of intent: DNS types, the TCP label, and the retry comment provide context, but misleading parameter names such as currentAccount, duration, and recentCount obscure their actual roles. Method names dispatch and validate do not clearly describe returning a query and a protocol label. Code length: The implementation is concise, though the lengthy constructor signature and positional superclass call require effort to interpret. Action granularity: Statements generally perform one action each; multiple parameters per line slightly reduce scanability. Reading flow: The overall top-to-bottom flow is natural, but inconsistent parameter wrapping and unclear argument semantics interrupt comprehension.
Run 3
Code Structure: The class is logically organized into a constructor and two short overrides, though unused imports add clutter. Nesting: There is no deep nesting, making the control flow easy to follow. Clarity of intent: DNS types, the class name, and the TCP comment provide context, but misleading parameter names such as currentAccount, duration, and recentCount obscure their actual roles. Method names dispatch and validate do not clearly describe returning a query and a transport label. Code length: The implementation is concise, although the long constructor signature and superclass argument list require careful cross-referencing. Action granularity: Each statement performs a single action; multiple parameters per line slightly reduce scanability. Reading flow: The top-to-bottom layout is natural, but inconsistent domain terminology and positional constructor arguments interrupt comprehension.