Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: put false+ before false-

...

Regardless of how checking is performed, the analysis may generate

  • False positives: The tool reports a flaw when one does not exist. False positives may occur because the code is too complex for the tool to perform a complete analysis. The use of features such as function pointers and libraries may make false positives more likely.
  • False negatives: Failure to report a real flaw in the code is usually regarded as the most serious analysis error, as it may leave the user with a false sense of security. Most tools err on the side of caution and consequently generate false positives. However, in some cases, it may be deemed better to report some high-risk flaws and miss others than to overwhelm the user with false positives.False positives: The tool reports a flaw when one does not exist. False positives may occur because the code is too complex for the tool to perform a complete analysis. The use of features such as function pointers and libraries may make false positives more likely.

To the greatest extent feasible, an analyzer should be both complete and sound with respect to enforceable guidelines. An analyzer is considered sound with respect to a specific guideline if it cannot give a false-positive result, meaning no false alarms. An analyzer is considered complete if it cannot issue false-negative results, meaning it finds all violations of the guideline within the entire program. The possibilities for a given guideline are outlined in the following figure.

...