No underflow checks in Polyspace Numerical Defects
4 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
采纳的回答
Meet
2025-7-23
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!
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Bug Finder Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!