...
Recommendation | Severity | Likelihood | Detectable | RepairableRemediation Cost | Priority | Level |
|---|---|---|---|---|---|---|
DCL06-C | Low | Unlikely | Yes | NoMedium | P2 | L3 |
Automated Detection
Tool | Version | Checker | Description | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Axivion Bauhaus Suite |
| CertC-DCL06 | |||||||||||||||||||
| CodeSonar |
| LANG.STRUCT.SW.SWNEE | Switch with non-enum expression | ||||||||||||||||||
| Compass/ROSE | Could detect violations of this recommendation merely by searching for the use of "magic numbers" and magic strings in the code itself. That is, any number (except a few canonical numbers: −1, 0, 1, 2) that appears in the code anywhere besides where assigned to a variable is a magic number and should instead be assigned to a | ||||||||||||||||||||
| CC2.DCL06 | Fully implemented | |||||||||||||||||||
| Helix QAC |
| C3120, C3121, C3122, C3123, C3131, C3132 | |||||||||||||||||||
| Klocwork |
| CERT.LITERAL.INT.CONST | |||||||||||||||||||
| LDRA tool suite |
| 201 S | Fully implemented | ||||||||||||||||||
| Parasoft C/C++test |
| CERT_C-DCL06-a | "#define" or enum constants should be used instead of hard coded values whenever possibleUse meaningful symbolic constants to represent literal values | ||||||||||||||||||
| Polyspace Bug Finder |
| Checks for:
| Size of memory buffer is a numerical value instead of symbolic constant Loop boundary is a numerical value instead of symbolic constant | PRQA QA-C | |||||||||||||||||
| Include Page | PRQA QA-C_v | PRQA QA-C_v | 3120, 3121, 3122, 3123, 3131, 3132 | Partially implemented | PRQA QA-C++ | ||||||||||||||||
| Include Page | cplusplus:PRQA QA-C++_V | cplusplus:PRQA QA-C++_V | Rec. fully covered. |
Related Vulnerabilities
Search for vulnerabilities resulting from the violation of this rule on the CERT website.
...