Use execution time for concolic execution (#1709)

* Add transaction plugins for summary search strategy

* Add set tx counter and fix balances for summaries

* Reformat

* Use exec time for concolic execution
pull/1710/head
Nikhil Parasaram 2 years ago committed by GitHub
parent 50480a844a
commit a96a127093
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      mythril/concolic/concolic_execution.py
  2. 2
      mythril/concolic/find_trace.py

@ -74,6 +74,7 @@ def concolic_execution(
:param solver_timeout: Solver timeout
"""
init_state, trace = concrete_execution(concrete_data)
args.solver_timeout = solver_timeout
output_list = flip_branches(

@ -11,6 +11,7 @@ from mythril.disassembler.disassembly import Disassembly
from mythril.laser.ethereum.svm import LaserEVM
from mythril.laser.ethereum.state.world_state import WorldState
from mythril.laser.ethereum.state.account import Account
from mythril.laser.ethereum.time_handler import time_handler
from mythril.laser.ethereum.transaction.concolic import execute_transaction
from mythril.laser.plugin.loader import LaserPluginLoader
from mythril.laser.smt import Expression, BitVec, symbol_factory
@ -53,6 +54,7 @@ def concrete_execution(concrete_data: ConcreteData) -> Tuple[WorldState, List]:
plugin_loader = LaserPluginLoader()
assert PluginDiscovery().is_installed("myth_concolic_execution")
trace_plugin = PluginDiscovery().installed_plugins["myth_concolic_execution"]()
time_handler.start_execution(laser_evm.execution_timeout)
plugin_loader.load(trace_plugin)
laser_evm.time = datetime.now()

Loading…
Cancel
Save