Sample
pyint-69739d0d1f74-I03
Replace names with length-matched meaningful but unrelated identifiers
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0 | 0–1; higher is more readable |
| Dorn | 0.075 | 0–1; higher is more readable |
| Mi | 0.564 | 0–1; higher is more readable |
| LLOC | 160 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 5.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 9 | 0–20; mean of three runs |
| BTTF | 0.241 | 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. | 9930.086 | −327.693 |
| Source linesThe number of non-empty source lines. | 245 | +98 |
| 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.506 | −6.758 |
Intercept 8.87 + feature contributions = -227.581 (log-odds).
Score = sigmoid(-227.581) = 0.
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. | 246 | −7.674 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 219 | +6.838 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 219 | −4.605 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 244.84 | +3.013 |
| 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. | 123.976 | −1.586 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 123.992 | +1.196 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.073 | +0.23 |
Intercept 0.07 + feature contributions = -2.517 (log-odds).
Score = sigmoid(-2.517) = 0.075.
| Score | 0.564 |
|---|
| Score | 160 |
|---|
Run 1
The code is severely obfuscated, likely intentionally. Function names (validateAccount, validateBalance, findBuffer) are misleading; they actually handle digest calculation, redirect handling, and response hooking. Parameter names (client/age, map/result, schedule/localKey, category/customer) are nonsensical and unrelated to their purpose. Variables like backupKey, recentKey, batch, count, target are opaque. The overload signatures are broken. Code structure is tangled, with nested function definitions and magic strings. Multiple actions occur per line. Natural reading flow is non-existent. Overall, it is extremely difficult to understand and maintain.
Run 2
This code is extremely unreadable due to obfuscated naming and tangled logic. Function names like validateMessage, validateAccount, validateBalance, and findBuffer do not match their actual purposes. Variable names such as schedule, localKey, age, map, batch, count, key, source, node, step, option, and user are misleading and inconsistent. The code has excessive comments explaining basic steps but lacks clarity on the complex digest authentication logic. Deeply nested conditionals and duplicated hash function definitions within branches obscure the flow. Multiple actions are packed into single lines, and the overall structure resembles intentionally obfuscated code rather than a maintainable implementation. The type hints are present but cannot compensate for the confusing naming and disorganized flow.
Run 3
The code has poor readability due to heavily obfuscated variable names and unclear intent. The class uses misleading names like 'validateAccount' for authentication logic, 'findBuffer' for response handling, and replaces digest auth terminology with unrelated names like 'batch', 'count', 'client', 'map', 'age', 'source', etc. The methods and parameters do not reflect their actual purpose. Multiple actions are packed into single methods with unclear flow. There is deep logic nested within string formatting and conditional branching. Comments reference RFCs but do not clarify the renamed variables. The structure relies on thread-local state that is difficult to follow. While the code length is moderate and lines are generally not overly long, the overall clarity of intent is severely lacking, making it hard to understand without significant effort. The action granularity is acceptable, but the reading flow is disrupted by confusing, arbitrary naming and non-obvious side effects.
Run 1
Code Structure: Methods separate initialization, digest construction, response handling, and request hooks, but digest construction mixes several responsibilities. Nesting: Mostly moderate, with early returns limiting depth; nested hash helpers add complexity. Clarity of intent: The class purpose is clear, but misleading method names such as validateAccount and findBuffer, generic variables such as age, map, and key, and inconsistent naming obscure authentication concepts. KD references undefined hash_utf8, further confusing the intended flow. Code length: Digest construction is lengthy, and repeated encoding/hash helpers could be consolidated. Action granularity: Most lines perform one action, although assignment expressions and dense formatted strings require extra attention. Reading flow: The overall authentication sequence is logical, and comments help, but unrelated parameter names, stale comments, unresolved symbols, and inconsistent terminology repeatedly interrupt comprehension.
Run 2
Code Structure: Methods separate initialization, digest construction, response handling, and request setup, but digest construction mixes several responsibilities. Nesting: Mostly moderate, with early returns limiting depth; nested hashing functions add complexity. Clarity of intent: The class purpose is clear, but misleading names such as validateAccount, age, map, and finalScore obscure authentication concepts. KD references undefined hash_utf8, further disrupting understanding. Code length: Repeated hashing wrappers and a long digest-building method could be simplified; unused imports and dead placeholders add noise. Action granularity: Most lines perform one action, although assignment expressions combine lookup and branching. Reading flow: Request preparation and retry handling follow a reasonable sequence, supported by comments, but inconsistent naming, mismatched overload parameter names, stale comments, and scattered state updates make the authentication flow harder to trace.
Run 3
Code Structure: Methods separate initialization, digest generation, response handling, and request setup logically, but digest generation mixes several responsibilities. Nesting: Mostly moderate, with early returns limiting depth; nested hash helpers and response conditions add complexity. Clarity of intent: The class purpose is clear, but misleading names such as validateAccount, age, map, and backupKey obscure authentication concepts. KD references undefined hash_utf8, further confusing the intended hashing flow. Code length: Repeated hash wrappers, unused imports, and a long digest-building method introduce avoidable verbosity. Action granularity: Most lines perform one action, although assignment expressions combine lookup and branching. Reading flow: Request processing follows a generally coherent sequence, supported by some useful comments, but inconsistent naming, stale comments, and unexplained intermediate values repeatedly interrupt comprehension.