...
Tool | Version | Checker | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
Astrée |
| Supported via MISRA C:2012 Rules 10.1, 10.3, 10.4, 10.6 and 10.7 | |||||||
CodeSonar |
| LANG.CAST.PC.AV LANG.CAST.COERCE ALLOC.SIZE.TRUNC LANG.MEM.TBA | Cast: arithmetic type/void pointer Coercion alters value Truncation of allocation size Tainted buffer access | ||||||
Compass/ROSE | Can detect violations of this rule. However, false warnings may be raised if | ||||||||
| NEGATIVE_RETURNS REVERSE_NEGATIVE MISRA_CAST | Can find array accesses, loop bounds, and other expressions that may contain dangerous implied integer conversions that would result in unexpected behavior Can find instances where a negativity check occurs after the negative value has been used for something else Can find instances where an integer expression is implicitly converted to a narrower integer type, where the signedness of an integer value is implicitly converted, or where the type of a complex expression is implicitly converted | |||||||
Cppcheck |
| memsetValueOutOfRange | The second argument to memset() cannot be represented as unsigned char | ||||||
Helix QAC |
| C2850, C2851, C2852, C2853, C2855, C2856, C2857, C2858, C2890, C2891, C2892, C2893, C2895, C2896, C2897, C2898, C2900, C2901, C2902, C2903, C2905, C2906, C2907, C2908 C++2850, C++2851, C++2852, C++2853, C++2855, C++2856, C++2857, C++2858, C++2890, C++2891, C++2892, C++2893, C++2895, C++2896, C++2897, C++2898, C++2900, C++2901, C++2902, C++2903, C++2905, C++2906, C++2907, C++2908, C++3000, C++3010 | |||||||
Klocwork |
| PRECISIONPORTING.LOSS | |||||||
LDRA tool suite |
| 93 S, 433 S, 434 S | Partially implemented | ||||||
Parasoft C/C++test |
| CERT_C-INT31-a | An expression of essentially Boolean type should always be used where an operand is interpreted as a Boolean value | ||||||
Polyspace Bug Finder |
| Checks for:
Rule partially covered. | |||||||
PRQA QA-C |
| 2850, 2851, 2852, 2853, 2855, 2856, 2857, 2858, 2890, 2891, 2892, 2893, 2895, 2896, 2897, 2898 2900, 2901, 2902, 2903, 2905, 2906, 2907, 2908 | Partially implemented | ||||||
PRQA QA-C++ |
| 2850, 2851, 2852, 2853, 2855, 2856, 2857, 2858, 2890, 2891, 2892, 2893, 2895, 2896, 2897, 2898, 2900, 2901, 2902, 2903, 2905, 2906, 2907, 2908, 3000, 3010 | |||||||
PVS-Studio |
| V562, V569, V642, V676, V716, V721, V724, V732, V739, V784, V793, V1019, V1029, V1046 | |||||||
RuleChecker |
| Supported via MISRA C:2012 Rules 10.1, 10.3, 10.4, 10.6 and 10.7 | |||||||
TrustInSoft Analyzer |
| signed_downcast | Exhaustively verified. |
...