No underflow checks in Polyspace Numerical Defects

5 views (last 30 days)
In following link https://www.mathworks.com/help/bugfinder/numerical-checks.html, different overflow checks are listed, but no underflow checks.
That is why, for example, following will not be detected:
signed char foo = CHAR_MIN;
printf("foo: %d\n", foo); // foo: -128
foo--;
printf("foo: %d", foo); // foo: 127
Any idea on why that check is not available?

Accepted Answer

Meet
Meet on 23 Jul 2025
Hi Ismet,
In C/C++, integer overflow and underflow on 2’s-complement signed types is undefined behavior, hence tools like Bug Finder can detect when a value goes beyond the representable range, limited by compile-time analysis or bounded checks.
Bug Finder does include a checker for CWE‑191 (Integer Underflow / Wraparound), aimed at constant expressions or arithmetic that is statically analyzable.
For more information on this check, refer to the following MathWorks documentation: https://www.mathworks.com/help/bugfinder/ref/cwe191.html
I hope this helps!

More Answers (0)

Products


Release

R2025a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!