Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

ToolVersionCheckerDescription
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V

LANG.FUNCS.APM

Array parameter mismatch
Compass/ROSE  

Can detect some violations of this rule. In particular, it ensures that all calls to open() supply exactly two arguments if the second argument does not involve O_CREAT, and exactly three arguments if the second argument does involve O_CREAT

ECLAIR

Include Page
ECLAIR_V
ECLAIR_V

CC2.EXP37

Partially implemented

EDG   
GCC
Include Page
GCC_V
GCC_V
 

Can detect violation of this rule when the -Wstrict-prototypes flag is used. However, it cannot detect violations involving variadic functions, such as the open() example described earlier

Klocwork
Include Page
Klocwork_V
Klocwork_V
MISRA.FUNC.UNMATCHED.PARAMS 
LDRA tool suite
Include Page
LDRA_V
LDRA_V

41 D, 21 S, 98 S, 170 S, 496 S, 576 S

Partially implemented
Polyspace Bug FinderR2016a

Declaration mismatch,
Qualifier removed in conversion,
Standard function call with incorrect arguments,
Format string specifiers and arguments mismatch,
Unreliable cast of function pointer

Mismatch between function or variable declarations

Variable qualifier is lost during conversion

 

Argument to a standard function does not meet requirements for use in the function

 

String specifiers do not match corresponding arguments

Function pointer cast to another function pointer with different argument or return type


 PRQA QA-C++4.1 0424, 0403 
PRQA QA-C
Include Page
PRQA QA-C_v
PRQA QA-C_v
1331, 1332, 1333, 3002, 3320, 3335Partially implemented
SonarQube C/C++ Plugin
Include Page
SonarQube C/C++ Plugin_V
SonarQube C/C++ Plugin_V
S930Detects incorrect argument count

...