...
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 | ||||||||
| 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 | |||||||
Helix QAC |
| C4450, C4451, C4452, C4453, C4454, C4462, C4465 C++3011 | |||||||
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) | |||||||
PRQA QA-C |
| 4450, 4451, | Partially implemented | ||||||
PRQA QA-C++ |
| 3011 | |||||||
PVS-Studio |
| V615, V2003, V2004 | |||||||
TrustInSoft Analyzer |
| float_to_int | Exhaustively verified (see one compliant and one non-compliant example). |
...