Docs
Analysis Options

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-limit option. To remove the limit, use --no-iteration-limit flag. 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-depth option. To remove the limit, use --no-recursion-depth-limit flag. 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.