Open alisevych opened 1 year ago
This one is generated by fuzzer, so I guess it cannot know anything about overflow/underflow. @Markoutte what do you think?
Yes, fuzzer cannot track the problem until it explicitly thrown from the concrete execution. And fuzzed doesn't do any analysis like a symbolic engine to recognize such problems, like integer overflows. I see that we have some options that are not applicable to fuzzer's tests and there's no way to bring them some sense. I can make 2 suggestions:
Description
Tests generated by Symbolic Execution for OverflowExamples with
Treat overflows as errors
option on - are supposed to fail with ArithmeticException, but they are passing.To Reproduce
Overflow detection
toTreat overflows as errors
and Fuzzing on:Expected behavior
Test produces int overflow inside factorial method (2^32 => 0) and is supposed to fail. The test also should go to OVERFLOWS region and should have a comment about int overflow.
Actual behavior
A regular test is generated. It is added to
///region FUZZER: SUCCESSFUL EXECUTIONS for method factorial(int)
The test is passing.Visual proofs (screenshots, logs, images)
Environment
Windows 10 Pro IntelliJ IDEA 2022.2.3