Strategies for Stopping Analysis
The analyzed contracts often have too many possible execution paths to be fully analyzed. In this case, you can use one of the strategies to stop the analysis.
Timeout
Stop the analysis after the given amount of time. Set with --timeout CLI option.
By default, analysis has no timeout.
Iteration Limit and Maximum Recursion Depth
- Iteration limit. Skip executions where the number of iterations in a loop exceeds the given limit. Can be set with
--iteration-limitCLI option. To remove the limit, use--no-iteration-limitflag. - Maximum recursion depth. Skip executions where some method occurs in a call stack more times then the given limit. Can be set with
--max-recursion-depthCLI option. To remove the limit, use--no-recursion-depth-limitflag.
By default, the iteration limit and maximum recursion depth are set. To get concrete values, use --help CLI option.
Exploring Specific Exit Codes
If the goal of the analysis is to find some execution with specific exit code, you can use --stop-when-exit-codes-found CLI option.
This option can be used several times for different exit codes.
Stop the analysis right after executions with all required exit codes are found.