...
Tool | Version | Checker | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Astrée |
| unreachable-code statement-sideeffect | Partially checked | ||||||||
CodeSonar |
| DIAG.UNEX.* | Code not exercised by analysis | ||||||||
| NO_EFFECT DEADCODE
UNREACHABLE | Finds statements or expressions that do not accomplish anything or statements that perform an unintended action. Can detect the specific instance where code can never be reached because of a logical contradiction or a dead "default" in Can detect the instances where code block is unreachable because of the syntactic structure of the code | |||||||||
| CC2.MSC12 | Partially implemented | |||||||||
GCC | 3.0 | Options detect unused local variables, nonconstant static variables and unused function parameters, or unreachable code respectively. | |||||||||
Klocwork |
| CWARN.NOEFFECT.SELF_ASSIGN | |||||||||
LDRA tool suite |
| Partially implemented | |||||||||
Parasoft C/C++test |
| CERT_C-MSC12-a | There shall be no unreachable code in "else" block | ||||||||
Polyspace Bug Finder |
| Code does not execute Default case is missing and may be reached Size argument of function in A project shall not contain unreachable code There shall be no dead code | |||||||||
PRQA QA-C |
| 3426, 3427, 3307, 3110, 3112, 3404, 1501, 1503, 2008, 2880, 2881, 2882, 2883, 2877, 3196, 3202, 3203, 3205, 3206, 3207, 3210, 3219, 3229, 3404, 3422, 3423, 3425, 3470, 2980, 2981, 2982, 2983, 2984, 2985, 2986 | Partially implemented | ||||||||
RuleChecker |
| statement-sideeffect | Partially checked | ||||||||
SonarQube C/C++ Plugin |
| S1764, S2589, S2583, S1116, S1172, S1763, S1862, S1065, S1656, S2754, S1751 | |||||||||
Splint |
| | The default mode checks for unreachable code. | ||||||||
| V551, V606, V649, V779 |
...