Sample
int-7fe0777ff69e-I05
Rewrite eligible decimal integer literals in hexadecimal notation
Scores
| Method | Score | Scale |
|---|---|---|
| Posnett | 0.993 | 0–1; higher is more readable |
| Dorn | 0.687 | 0–1; higher is more readable |
| Mi | 0.471 | 0–1; higher is more readable |
| LLOC | 1 | Logical lines; fewer is more readable |
| DeepSeek V4 Pro | 18.67 | 0–20; mean of three runs |
| GPT-6.1 Sol | 19 | 0–20; mean of three runs |
| BTTF | 0.686 | 0–1; higher is more readable |
Views
Loading feature diagnosis…
Source regions
Feature contributions
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Source linesThe number of non-empty source lines. | 45 | +18 |
| Halstead volumeHow much symbolic information the code contains. It combines the total number of operators and values with the number of distinct ones. | 445 | −14.685 |
| 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.832 | −7.247 |
Intercept 8.87 + feature contributions = 4.938 (log-odds).
Score = sigmoid(4.938) = 0.993.
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.028 | +0.667 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 88.957 | +0.631 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 46 | −0.592 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 44.933 | +0.218 |
| Indentation frequencyHow rapidly indentation changes from line to line. | 18 | −0.115 |
| 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. | 88.935 | −0.102 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 18 | +0.008 |
Intercept 0.07 + feature contributions = 0.786 (log-odds).
Score = sigmoid(0.786) = 0.687.
| Score | 0.471 |
|---|
| Score | 1 |
|---|
Run 1
The code demonstrates excellent readability. The package and imports are logically ordered. Javadoc is thorough yet clearly formatted with paragraph breaks and links. Annotations like @Target and @Retention are placed cleanly above the interface declaration. The single method 'millis()' is documented concisely, and the code is flat—no nesting or complex conditionals. Structure is minimal and purposeful, reflecting the nature of a simple annotation definition. Names are self-explanatory. While concise, the deprecation note is slightly long, but overall the code is very clear and easy to scan.
Run 2
The code is highly readable with a clear, logical structure. It follows standard Java annotation declaration conventions: imports, Javadoc, annotations, then the interface. The nesting is flat with no conditional logic or loops. The intent is explicitly documented with a thorough Javadoc explaining purpose, constraints, and deprecation. Code length is appropriate for an annotation definition with comprehensive documentation. Action granularity is one element per line, making it easy to parse. Reading flow is natural, progressing from package declaration through imports to the documented annotation type. The only minor deduction is the lengthy deprecation Javadoc, which slightly interrupts flow, but it provides necessary migration context.
Run 3
The code is highly readable due to its clear, logical structure and excellent documentation. It uses minimal nesting—only the annotation declaration with no nested control flow. The JavaDoc clearly explains the purpose, usage, constraints, and deprecation, leaving no ambiguity about intent. The code is concise: imports are straightforward, annotations are separated logically, and the single method `millis()` is well-described. Each line performs a single, clear action, and the reading flow follows a natural progression from package declaration to imports, documentation, annotations, and finally the declaration. The only minor deduction is for the slight verbosity of the JavaDoc, but this is appropriate for a public API annotation and does not harm readability.
Run 1
Code Structure: Standard Java organization cleanly separates imports, documentation, annotation metadata, and the single member. Nesting: Essentially flat, with only the annotation declaration enclosing millis(). Clarity of intent: Timed and millis() communicate purpose clearly, while Javadoc explains timeout scope, supported targets, and deprecation. Code length: Implementation is minimal; documentation is longer but provides relevant context rather than unnecessary complexity. Action granularity: Each import, annotation, and member declaration occupies its own line. Reading flow: Natural top-to-bottom progression from context to configuration to API. Minor formatting improvements, such as a blank line after the package declaration and removing the extra blank line before the closing brace, would improve polish.
Run 2
Code Structure: The package, imports, documentation, metadata, and annotation declaration follow a logical Java layout. Nesting: The code is essentially flat, with only one member inside the annotation. Clarity of intent: Timed and millis(), supported by precise Javadoc, clearly communicate the timeout purpose, units, execution scope, and deprecation status. Code length: The implementation is minimal; documentation is longer but provides relevant context rather than unnecessary detail. Action granularity: Each import, annotation, and member declaration occupies its own line. Reading flow: The progression from overview to metadata to the single configuration member is natural. Minor formatting issues, such as the missing blank line after the package declaration and the extra blank line before the closing brace, slightly reduce polish.
Run 3
Code Structure: Logically organized into package, imports, documentation, metadata, and a single annotation member. Nesting: Minimal, with no nested control flow. Clarity of intent: Timed and millis(), supported by precise Javadoc, clearly communicate the timeout purpose, scope, units, and deprecation. Code length: The implementation is concise; documentation is longer but provides relevant behavioral details. Action granularity: Each import, annotation, and member declaration occupies its own line. Reading flow: Natural top-to-bottom progression makes the code easy to scan. A blank line between the package declaration and imports would slightly improve visual separation.