module greed.exploration_techniques.other


class Whitelist

This technique skips all statements that are not in the whitelist until one of them is reached. The result variables of the skipped statements are set to a fresh symbolic variable.

Args:

  • whitelist: the list of statements' names in the whitelist (e.g., ["MSTORE", "MLOAD"])

method __init__

__init__(whitelist)

method check_state

check_state(simgr, state)

Check if the current statement is in the whitelist. If not, skip to the next statement.


class LoopLimiter

This technique limits the number of times a loop can be executed. When the limit is reached, the state is halted.

Args:

  • n: the maximum number of times a loop can be executed

method __init__

__init__(n)

method check_state

check_state(simgr, state)

Check if the loop has been executed more than n times. If so, halt the state.

Args:

  • simgr: the simulation manager
  • state: the state to check

method setup

setup(simgr)

Setup the technique.

Args:

  • simgr: the simulation manager

class MstoreConcretizer

This technique concretizes the offset of MSTOREs.

method __init__

__init__()

method check_state

check_state(simgr, state)

method setup

setup(simgr, _debug=False)

Setup the technique.

Args:

  • simgr: the simulation manager
  • _debug: whether to print debug info

This file was automatically generated via lazydocs.