...
Tool | Version | Checker | Description | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Astrée |
| Supported Astrée reports all potential overflows resulting from floating-point conversions. | |||||||
| Compass/ROSE | Can detect some violations of this rule. However, it does not flag implicit casts, only explicit ones | ||||||||
| CodeSonar |
| LANG.TYPE.IAT | Inappropriate Assignment Type | ||||||
| MISRA_CAST (needs verification) | Can detect instances where implicit float conversion is involved: implicitly converting a complex expression with integer type to floating type, implicitly converting a double expression to narrower float type (may lose precision), implicitly converting a complex expression from | |||||||
| Cppcheck |
| floatConversionOverflow suspiciousFloatingPointCast | |||||||
| Cppcheck Premium |
| floatConversionOverflow suspiciousFloatingPointCast | |||||||
| Helix QAC |
| C4450, C4451, C4452, C4453, C4454, C4462, C4465 C++3011 | |||||||
| Klocwork |
| MISRA.CAST.FLOAT.WIDER | |||||||
| LDRA tool suite |
| 435 S, 93 S | Partially implemented | ||||||
| Parasoft C/C++test |
| CERT_C-FLP34-a CERT_C-FLP34-b | Avoid implicit conversions from wider to narrower floating type | ||||||
| PC-lint Plus |
| 735, 736, | Partially supported | ||||||
| Polyspace Bug Finder |
| Checks for float conversion overflow (rule partially covered) | |||||||
| PVS-Studio |
| V615, V2003, V2004 | |||||||
| Security Reviewer - Static Reviewer |
| C88 | Fully implemented | ||||||
| TrustInSoft Analyzer |
| float_to_int | Exhaustively verified (see one compliant and one non-compliant example). |
...