...
Tool | Version | Checker | Description | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Astrée |
| array-index-range | Partially checked + soundly supported | ||||||
| Codee |
| PWR079 PWR080 PWR081 PWD003 PWD006 PWD008 | Avoid undefined behavior due to uninitialized variables Conditionally initialized variables can lead to undefined behaviorUninitialized output arguments can lead to undefined behavior Missing array range in data copy to the GPU Missing deep copy of non-contiguous data to the GPU Unprotected multithreading recurrence due to out-of-dimension-bounds array access | ||||||
| Helix QAC |
| C0160, C0161, C0162, C0163, C0164, C0165, C0166, C0167, C0168, C0169, C0170, C0171, C0172, C0173, C0174, C0175, C0176, C0177, C0178, C0179, C0184, C0185, C0186, C0190, C0191, C0192, C0193, C0194, C0195, C0196, C0197, C0198, C0199, C0200, C0201, C0203, C0204, C0206, C0207, C0208, C0235, C0275, C0301, C0302, C0304, C0307, C0309, C0323, C0327, C0337, C0400, C0401, C0402, C0403, C0475, C0543, C0544, C0545, C0602, C0603, C0623, C0625, C0626, C0630, C0632, C0636, C0654, C0658, C0661, C0667, C0668, C0672, C0676, C0678, C0680, C0706, C0745, C0777, C0779, C0813, C0814, C0821, C0836, C0837, C0848, C0853, C0854, C0864, C0865, C0867, C0872, C0874, C0885, C0887, C0888, C0914, C0915, C0942, C1509, C1510, C3113, C3114, C3239, C3311, C3312, C3319, C3437, C3438 | |||||||
| LDRA tool suite |
| 48 D, 63 D, 84 D, 113 D, 5 Q, 64 S, 65 S, 100 S, 109 S, 156 S, 296 S, 324 S, 335 S, 336 S, 339 S, 412 S, 427 S, 465 S, 482 S, 497 S, 545 S, 587 S, 608 S, 642 S, 62 X, 63 X | Partially implemented | ||||||
| Parasoft C/C++test |
| CERT_C-MSC15-a CERT_C-MSC15-b | Evaluation of constant unsigned integer expressions should not lead to wrap-around | ||||||
| Polyspace Bug Finder |
| Checks for undefined behavior (rec. partially covered) | |||||||
| PVS-Studio |
| V772 | |||||||
| RuleChecker |
| internal-and-external-linkage | Partially checked |
...