Versions Compared

Key

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

...

Tool

Version

Checker

Description

Astrée
Include Page
Astrée_V
Astrée_V

Supported: This rule aims to prevent truncations and overflows. All possible overflows are reported by Astrée.
Axivion Bauhaus Suite

Include Page
Axivion Bauhaus Suite_V
Axivion Bauhaus Suite_V

CertC-FLP06, but no explicit checker
CodeSonar
Include Page
CodeSonar_V
CodeSonar_V
LANG.TYPE.MOTMismatched operand types
Compass/ROSE



Can detect violations of this rule. Any assignment operation where the type of the assigned-to value is float or double, but all the expressions to the right of the assignment are integral, is a violation of this rule

Helix QAC

Include Page
Helix QAC_V
Helix QAC_V

C4117, C4118
LDRA tool suite
Include Page
LDRA_V
LDRA_V

435 S

Enhanced enforcement

Parasoft C/C++test
Include Page
Parasoft_V
Parasoft_V

CERT_C-FLP06-a
CERT_C-FLP06-b

Implicit conversions from integral to floating type which may result in a loss of information shall not be used
Implicit conversions from integral constant to floating type which may result in a loss of information shall not be used

PC-lint Plus

Include Page
PC-lint Plus_V
PC-lint Plus_V

653, 790, 942

Fully supported

Polyspace Bug Finder

Include Page
Polyspace Bug Finder_V
Polyspace Bug Finder_V

Float overflow

MISRA CERT C: 2012 Rule 10.3

Overflow from operation between floating points

The value of an expression shall not be assigned to an object with a narrower essential type or of a different essential type category

PRQA QA-C
Include Page
PRQA QA-C_vPRQA QA-C_v

4117
4118

Rec. FLP06-C


Checks for float overflow (rec. partially covered)

Partially implemented

PVS-Studio

Include Page
PVS-Studio_V
PVS-Studio_V

V636
Splint
Include Page
Splint_V
Splint_V



...