Analysis Options
Learn about additional TSA analysis options.
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 the --timeout option.
In CLI analysis has no timeout by default.
In Blueprint plugin, if --timeout is not specified, the default behavior depends on the checker.
Iteration Limit and Recursion Limit
-
Iteration limit. Skip executions where the number of iterations in a loop exceeds the given limit. Can be set with
--iteration-limitoption. To remove the limit, use--no-iteration-limitflag. In Blueprint plugin, the limit cannot be removed. -
Maximum recursion depth. Skip executions where some method occurs in a call stack more times than the given limit. Can be set with
--max-recursion-depthoption. To remove the limit, use--no-recursion-depth-limitflag. In Blueprint plugin, the limit cannot be removed.
By default, the iteration limit and recursion limit are set.
To get concrete values, use the --help 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.
This option is configurable only through CLI.