Use Cases
Execute Contract Crowdsale
$ semyth analyze */Crowdsale.sol:Crowdsale
Execute Contract Crowdsale with more intermediate data
Use option -v
:
$ semyth -v3 analyze */Crowdsale.sol:Crowdsale
Execute Contract Crowdsale with the depth limit of Phase 1 is 2
Use option -p1dl
:
$ semyth analyze */Crowdsale.sol:Crowdsale -p1dl 2
Execute a list of given function sequences on contract Crowdsale
Use option -fss
and --sequences
:
$ semyth analyze */Crowdsale.sol:Crowdsale -fss seq --sequences "[['invest()', 'setPhase(uint256)', 'withdraw()'],['setPhase(uint256)', 'refund()']]"
Execute contract Crowdsale with functions randomly selected to be executed at states.
Use option --random-baseline
:
$ semyth analyze */Crowdsale.sol:Crowdsale --random-baseline 7
Execute all possible sequences on contract Crowdsale with the depth limit set to 2
Use option --no-guidance
:
$ semyth analyze */Crowdsale.sol:Crowdsale --no-guidance
Execute all possible sequences on contract Crowdsale with a depth limit of 3.
Use option --no-guidance
and option -t
:
$ semyth analyze */Crowdsale.sol:Crowdsale --no-guidance -t 3