...
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 | ||||||||||||||||||
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) | ||||||||||||||||||
PRQA QA-C | ||||||||||||||||||||
Include Page | PRQA QA-C_v | PRQA QA-C_v | 4450, 4451, | Partially implemented | PRQA QA-C++ | |||||||||||||||
Include Page | cplusplus:PRQA QA-C++_V | cplusplus:PRQA QA-C++_V | 3011 | PVS-Studio |
| V615, V2003, V2004 | ||||||||||||||
TrustInSoft Analyzer |
| float_to_int | Exhaustively verified (see one compliant and one non-compliant example). |
...