Sample
int-b2033622e73a-SRC
Unmodified source class
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 is highly readable due to its logical structure: imports, Javadoc, annotations, and interface declaration are well-separated. Nesting is non-existent. The intent is clearly conveyed through comprehensive Javadoc, including usage, constraints, and deprecation warnings. Code length is appropriate for a declarative annotation. Each element—annotations, method signature—sits on its own line. Reading flow is natural, moving from general metadata to specific method. Minor deductions: the lengthy Javadoc for a deprecated element slightly reduces conciseness, and the deprecation message could be shortened. Overall, an exemplary annotation definition.
Run 2
The code is highly readable. It has a clear, logical structure: imports, comprehensive Javadoc, annotations, interface declaration, and a single method. Nesting is non-existent. Intent is unambiguous—defining a timed test annotation. The Javadoc thoroughly explains usage, including meta-annotation support and deprecation. Code length is concise but appropriately detailed; each element serves a purpose. Action granularity is excellent, with each annotation and method declaration on its own line. Reading flow is natural: package, imports, documentation, metadata, then declaration. Minor deductions: the deprecation notice is slightly verbose and could instead reference the migration guide. Overall, it’s a textbook example of clean, well-documented annotation code.
Run 3
This annotation declaration is highly readable. The structure is logical: imports, comprehensive Javadoc, then annotations and the interface declaration. The Javadoc clearly explains the purpose, usage, semantics, and deprecation context. Nesting is nonexistent. The single method 'millis()' has a precise, well-documented purpose. Length is appropriate—the verbosity is in documentation, not code, which aids clarity. Action granularity is trivially perfect: each annotation and declaration occupies its own line. Reading flow is natural, from package context to metadata to definition. Minor deductions: the deprecated annotation could arguably be placed first among meta-annotations, but this is stylistic and does not impair comprehension.
Run 1
Code Structure: Logically organized into package, imports, documentation, annotation metadata, and a single member. Nesting: Minimal, with only the annotation body. Clarity of intent: Timed and millis() communicate the purpose clearly, while Javadoc explains timeout scope and deprecation. Code length: The implementation is concise; the longer documentation provides useful context rather than unnecessary complexity. Action granularity: Each import, annotation, and member declaration occupies its own line. Reading flow: Natural top-to-bottom progression with consistent formatting. A missing blank line between the package declaration and imports is a minor visual separation issue.
Run 2
Code Structure: Logically organized into imports, documentation, annotation metadata, and a single member. Nesting: Essentially flat, with no nested control flow. Clarity of intent: The Timed name, millis() member, and detailed Javadoc clearly explain the timeout behavior, scope, and deprecation. Code length: The implementation is minimal; documentation is longer but provides useful context. Action granularity: Each import, metadata annotation, and declaration occupies its own line. Reading flow: Natural top-to-bottom progression, with consistent formatting. A blank line between the package declaration and imports would slightly improve visual separation.
Run 3
Code Structure: Clearly organized into package, imports, documentation, annotations, and a single member. Nesting: Minimal, with only the annotation declaration containing millis(). Clarity of intent: Timed and millis() communicate purpose, while documentation explains timeout behavior, scope, and deprecation. Code length: The implementation is concise; extensive documentation is useful but slightly outweighs the code. Action granularity: Each import, annotation, and member declaration occupies its own line. Reading flow: Natural top-to-bottom progression, with only minor formatting issues such as the missing blank line between the package declaration and imports.