Sample
Dorn/cuda/97
Human rating uses the original dataset scale.
Scores
| Method | Score | Scale | Dataset rank (0–100) |
|---|---|---|---|
| Posnett | 0.002 | 0–1; higher is more readable | 62.7Δ 37.5 |
| Scalabrino | 0.517 | 0–1; higher is more readable | 44.6Δ 19.4 |
| Dorn | 0.718 | 0–1; higher is more readable | 67.7Δ 42.5 |
| Mi | 0.384 | 0–1; higher is more readable | 37.3Δ 12.1 |
| LLOC | 7 | Logical lines; fewer is more readable | 67.7Δ 42.5 |
| DeepSeek V4 Pro | 11.33 | 0–20; mean of three runs | 49.3Δ 24.1 |
| GPT-6.1 Sol | 15 | 0–20; mean of three runs | 52.8Δ 27.6 |
| BTTF | 0.174 | 0–1; higher is more readable | 4.7Δ 20.5 |
| Human | 2.93 | 1–5; original rating | 25.2 |
Views
Select the downloaded ZIP or its extracted folder. Files stay in your browser.
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. | 351.385 | −11.596 |
| 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.975 | −7.463 |
| Source linesThe number of non-empty source lines. | 10 | +4 |
Intercept 8.87 + feature contributions = -6.189 (log-odds).
Score = sigmoid(-6.189) = 0.002.
| Score | 0.517 |
|---|
Feature contributions
| Feature | Value | Contribution (log-odds) |
|---|---|---|
| Indentation frequencyHow rapidly indentation changes from line to line. | 1 | −0.703 |
| Comment layout frequencyHow frequently the layout switches between lines containing only comments or whitespace and lines containing code. | 10 | +0.682 |
| 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. | 76 | +0.446 |
| Comment layout (horizontal)How rapidly the visual pattern of comment characters changes from left to right. | 76 | +0.422 |
| Number layout frequencyHow rapidly the number of numeric values per line changes through the code. | 1 | +0.398 |
| Identifier layout (vertical)How rapidly the visual pattern of identifier characters changes from top to bottom. | 9.714 | −0.274 |
| Operator visual areaThe share of the code’s visual area occupied by operators such as +, =, and *. | 0.108 | −0.105 |
Intercept 0.07 + feature contributions = 0.936 (log-odds).
Score = sigmoid(0.936) = 0.718.
| Score | 0.384 |
|---|
| Score | 7 |
|---|
Run 1
The code shows some effort at organization with comments explaining intent, but suffers from readability issues. The use of short, cryptic variable names (regH0, regE0, regF, regT, cudaGapOE) obscures meaning without context. Comments are present but terse, with one comment ('adjust vecH value with vecE and vecShift') not clearly matching the actual operation shown. The code has moderate nesting and reasonable action granularity—generally one operation per line—which is positive. However, the logical flow jumps between different calculations (vecE, vecShift, vector segment) without clear sequential structure. The placeholder-looking '/*compute the vector segment starting from 6*/' comment is ambiguous and doesn't help understanding. Overall, the code is comprehensible to someone familiar with Smith-Waterman/GPU sequence alignment algorithms, but would be challenging for a general programmer to parse quickly.
Run 2
The code is difficult to read due to cryptic variable names (regH0, regE0, regT, regF) that give little indication of their purpose. While comments attempt to clarify intent, they are sparse and do not explain the underlying algorithm or data flow. The structure is somewhat tangled: multiple statements per line, mixed operations, and inconsistent formatting (e.g., tabs, trailing spaces) reduce clarity. Nesting is shallow, which is good, but action granularity is poor—several distinct operations are combined on single lines, making it harder to parse. Reading flow suffers because the logic jumps between different variables and concepts without clear separation. Overall, the code requires significant domain knowledge to interpret and would benefit from descriptive naming, consistent formatting, and more detailed comments explaining the alignment or gap-extension logic.
Run 3
The code is moderately readable but has some mixed concerns. The logical organization is acceptable, with related operations grouped together, and the comments help clarify intent. Nesting is minimal, which improves readability. However, the variable names (e.g., regH0, regE0, regT) are cryptic and rely heavily on domain-specific knowledge or external context. The comments are helpful but somewhat sparse, leaving some operations unexplained, such as the relationship between regF and vecShift. Action granularity is mostly one operation per line, which aids understanding, but the inline comments on the same line as code can clutter the reading flow. The code is concise, but the ambiguity of variable purposes and the reliance on comments for comprehension prevent a higher score. Overall, it is structured well enough to follow but would benefit from more descriptive naming and clearer separation of concepts.
Run 1
Code Structure: Related updates are grouped logically, with whitespace separating stages. Nesting: The snippet is flat and straightforward to follow. Clarity of intent: Comments explain the broad computations, but abbreviated identifiers such as regT and regF require domain knowledge; references to vecShift and segment 6 are not self-explanatory. Code length: The snippet is concise, with no obvious unnecessary statements. Action granularity: Each line performs one assignment, making individual updates easy to inspect. Reading flow: Operations follow a natural sequential progression, although inconsistent indentation, comment alignment, and terminology slightly hinder readability.
Run 2
Code Structure: Statements are logically grouped into value adjustment, gap updates, and the next vector segment. Nesting: The code is entirely flat and easy to follow. Clarity of intent: Comments explain the broad operations, but abbreviated register names, unexplained component indices, and terminology mismatches such as vecShift versus regF obscure details. Code length: The snippet is concise, with no obvious unnecessary statements. Action granularity: Each line performs one assignment, making individual updates easy to track. Reading flow: Sequential calculations and blank-line grouping support a natural flow, though inconsistent whitespace and a vague segment comment reduce polish.
Run 3
Code Structure: Operations are logically grouped into score adjustment, gap updates, and vector-segment computation. Nesting: The code is flat, with no nested control flow. Clarity of intent: Comments explain the broad purpose, but abbreviated register names and unexplained vector components require domain knowledge; comments referencing vecH, vecE, and vecShift do not directly match the variable names. Code length: The snippet is concise without obvious redundancy. Action granularity: Each statement performs one assignment, making individual updates easy to track. Reading flow: Sequential dependencies and blank-line separation support a natural flow, though inconsistent spacing and comment formatting reduce polish.