Sample
int-94fa1ef41ec9-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.621 | 0–1; higher is more readable |
| Dorn | 0.379 | 0–1; higher is more readable |
| Mi | 0.542 | 0–1; higher is more readable |
| LLOC | 35 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 5.33 | 0–20; mean of three runs |
| GPT-6.1 Sol | 11.67 | 0–20; mean of three runs |
| BTTF | 0.366 | 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. | 3255.014 | −107.415 |
| Source linesThe number of non-empty source lines. | 93 | +37.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.827 | −7.24 |
Intercept 8.87 + feature contributions = -68.585 (log-odds).
Score = sigmoid(-68.585) = 0.
| Score | 0.621 |
|---|
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. | 94 | −2.292 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 81 | +2.065 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 81 | −1.438 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 92.856 | +0.888 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 95.894 | +0.743 |
| 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. | 95.968 | −0.4 |
| 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.492 (log-odds).
Score = sigmoid(-0.492) = 0.379.
| Score | 0.542 |
|---|
| Score | 35 |
|---|
Run 1
The code is severely obfuscated and misleading. Class and method names (IncidentEdgeSet, ArchetypeGraph, submit, sync, readNode, validateMessage, validateAccount) do not reflect their actual purposes, and variable names (age, map, config, status, price, batch, nextMode) are completely unrelated to the graph operations being performed. This makes the intent extremely difficult to discern. The structure appears to be a corrupted version of a graph incident edge set, but the naming destroys readability. Nesting is moderate, but logical organization is undermined by meaningless identifiers. Action granularity is acceptable, but reading flow is unnatural due to constant cognitive dissonance. While the code is not deeply nested or excessively long, the pervasive misleading naming makes it nearly unreadable to anyone unfamiliar with the original codebase.
Run 2
The code has severe readability issues due to misleading and obfuscated naming. Methods like submit(), sync(), readNode(), validateMessage(), and validateAccount() do not reflect their actual purposes (e.g., sync() computes size, readNode() checks containment). This makes the intent unclear and violates the 'clarity of intent' criterion. The structure is logical at a high level, but the distorted naming creates confusion. Nesting is moderate, mostly two levels, which is acceptable. Code length is reasonable and action granularity is generally one action per line. Reading flow is disrupted by the unrelated names. For example, 'validateMessage' returns predecessors, and 'validateAccount' returns successors, which is highly ambiguous. The overridden method names are completely inappropriate for a Set implementation, making the class difficult to understand and maintain.
Run 3
The code has a clear class structure and documentation, but method names are highly misleading. Methods like submit(), sync(), readNode(), validateMessage(), and validateAccount() do not reflect their actual purpose (contains(), size(), contains(), predecessors(), successors()). This severely harms clarity of intent. Variables like 'age', 'map', 'config', 'status', 'price', 'batch', 'value', 'path', 'nextPath' are semantically meaningless, making the logic hard to follow. The logic inside sync() and readNode() is dense and combines multiple operations per line, reducing readability. The overall structure is acceptable but the naming issues and unclear flow make it difficult to understand without significant effort.
Run 1
Code Structure: Fields, enum, constructor, public methods, and helpers are logically organized. Nesting: Shallow conditionals and early returns keep complexity manageable. Clarity of intent: The main weakness is misleading naming: submit, sync, readNode, validateMessage, and validateAccount obscure standard set operations and graph relationships. Variables such as age, price, batch, and nextPath are unrelated to their roles. The apparent AbstractSet overrides also do not match its method names, creating confusion. Code length: Compact overall, though repeated helper calls and explicit else branches add minor verbosity. Action granularity: Most lines perform one action; compound return expressions are reasonably formatted. Reading flow: Consistent formatting and useful helper documentation support navigation, but readers must repeatedly translate arbitrary names into graph concepts, substantially disrupting comprehension.
Run 2
Code Structure: Fields, enum, constructor, public methods, and private helpers are logically organized. Nesting: Shallow conditionals and early returns keep complexity manageable. Clarity of intent: The class documentation and EdgeType enum explain the purpose, but misleading names such as sync, readNode, validateMessage, config, and price obscure graph operations. The annotated methods also do not match AbstractSet methods, creating confusion about the intended interface. Code length: Compact overall, with little unnecessary code, although explicit else branches after returns add minor verbosity. Action granularity: Most lines perform one action; compound size calculations and membership predicates require more attention but remain manageable. Reading flow: Formatting and method grouping support sequential reading, while inconsistent, unrelated naming repeatedly interrupts comprehension.
Run 3
Code Structure: Fields, enum, constructor, overrides, and helper methods are logically organized. Nesting: Shallow conditionals and early returns make control flow easy to follow. Clarity of intent: The class documentation and edge-type enum explain the purpose, but misleading names such as sync, readNode, validateMessage, config, and price obscure graph operations. The overridden method names also do not match AbstractSet methods, creating confusion about the intended interface. Code length: The implementation is reasonably concise, with minor verbosity from unnecessary else branches. Action granularity: Most lines perform one action; compound size calculations and membership predicates require more attention but remain manageable. Reading flow: Consistent formatting and method grouping support reading, while unrelated identifiers repeatedly interrupt understanding.