Sample
int-2e311f2f3220-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.568 | 0–1; higher is more readable |
| Dorn | 0.87 | 0–1; higher is more readable |
| Mi | 0.244 | 0–1; higher is more readable |
| LLOC | 43 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 4.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 11 | 0–20; mean of three runs |
| BTTF | 0.415 | 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. | 5418 | −178.794 |
| Source linesThe number of non-empty source lines. | 151 | +60.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.858 | −7.287 |
Intercept 8.87 + feature contributions = -116.811 (log-odds).
Score = sigmoid(-116.811) = 0.
| Score | 0.568 |
|---|
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. | 152 | −4.346 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 130 | +3.759 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 150.921 | +1.7 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 96.072 | +0.746 |
| 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. | 99.895 | −0.566 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.083 | +0.139 |
Intercept 0.07 + feature contributions = 1.901 (log-odds).
Score = sigmoid(1.901) = 0.87.
| Score | 0.244 |
|---|
| Score | 43 |
|---|
Run 1
The code is heavily obfuscated and fails nearly all readability criteria. Structure is logical in skeleton (clean delegation pattern), but semantic naming is catastrophic: 'download' means wrap, 'parseNode' transforms tasks, 'delete' means submit, 'loadScore' invokes tasks, 'saveData' shuts down, 'readAddress' calls shutdownNow, etc. Variable names like 'invoice', 'feature', 'nextKey', 'path', 'option', 'order', 'event', 'message', 'mode', 'batch', 'token', 'channel', 'date', 'balance', 'size' are meaningless in context. Intents are completely ambiguous despite method count being reasonable. Nesting is minimal and action granularity is fine, but those are overshadowed by semantic incoherence. Reading flow is actively hostile—readers must mentally map nonsense names to actual executor operations. Documentation blocks describe the original intent, creating further dissonance with the garbled identifiers. Even accurate structure cannot redeem this as readable code.
Run 2
The code is heavily obfuscated with nonsensical, misleading method and variable names (e.g., 'download' for wrapping tasks, 'delete' for submit, 'readCount' for invokeAll, 'saveData' for shutdown). This severely harms clarity of intent and reading flow, making it nearly impossible to understand the purpose without deep analysis. While the structure is somewhat logical (grouping wrapping methods vs. passthrough methods), the naming destroys readability. Nesting is minimal and action granularity is mostly reasonable, but these positives are overwhelmed by the semantic chaos. The code length is acceptable, but the obfuscated identifiers fail to convey what the code actually does. Overall, it reads like intentionally deobfuscated malware rather than maintainable production code.
Run 3
The code structure is severely undermined by obfuscated naming that makes intent impossible to infer. Methods and parameters use meaningless names like 'download', 'parseNode', 'delete', 'loadScore', 'readCount', 'nextKey', and 'invoice', completely obscuring the WrappingExecutorService's purpose of wrapping tasks before delegation. Nesting is relatively flat, which is good, and action granularity is mostly one action per line. However, reading flow is disoriented because method names do not reflect their actual operations (e.g., 'delete' actually submits a task; 'loadScore' calls invokeAny). Code length is reasonable, but the constant translation needed to map misleading names to real behavior makes readability very poor. Even the documentation says 'wrapTask' while the actual method is 'download'. This suggests either an automated obfuscation or an extreme naming failure, nullifying most structural benefits.
Run 1
Code Structure: Logically organized into task-wrapping helpers, wrapped delegation methods, and lifecycle delegation methods. Nesting: Mostly flat, with only a short loop and a lambda containing try/catch. Clarity of intent: Severely weakened by misleading names such as download, delete, and validateSession, plus unrelated parameter names. Documentation references wrapTask methods that do not exist, and renamed methods marked @Override do not match ExecutorService, confusing the intended contract. Code length: Reasonably concise for an executor wrapper; repeated delegation is appropriate rather than unnecessary verbosity. Action granularity: Generally one statement per line, although nested calls combine validation, wrapping, and submission compactly. Reading flow: Consistent formatting and section comments support navigation, but readers must repeatedly inspect delegate calls to discover what misleadingly named methods actually do.
Run 2
Code Structure: Well organized into task-wrapping helpers, submission methods, and lifecycle delegation. Nesting: Shallow, with only a loop and a lambda containing try/catch. Clarity of intent: Severely weakened by unrelated names such as download, delete, and validateSession, plus arbitrary parameter names. Documentation references wrapTask, which does not exist under that name, and renamed methods marked @Override do not match ExecutorService, creating misleading interface expectations. Code length: Reasonably concise for an executor wrapper, though delegation introduces unavoidable repetition. Action granularity: Most statements perform one clear action; composed wrapping and delegation expressions remain manageable. Reading flow: Consistent formatting and grouped methods support scanning, but readers must repeatedly inspect method bodies to determine what misleading names actually mean.
Run 3
Code Structure: Logically organized into task-wrapping helpers, submission methods, and lifecycle delegation, with useful section comments. Nesting: Shallow overall; only the lambda's try/catch introduces moderate nesting. Clarity of intent: Severely weakened by misleading names such as download, delete, loadScore, and validateSession, plus unrelated parameter names. Documentation references nonexistent wrapTask methods, and renamed methods marked @Override do not match ExecutorService, creating further confusion. Code length: Reasonably concise for an executor wrapper, although repetitive delegation adds boilerplate. Action granularity: Statements generally perform one clear action per line; composed wrapping and delegation calls remain manageable. Reading flow: Consistent formatting and method grouping support scanning, but readers must repeatedly inspect method bodies to infer purpose because names and documentation contradict the implementation.