 
                            ...
| 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). | 
...