One way to improve the performance of the symbolic execution is to consider the existing blockchain state in the execution environment. For example, if a contract calls a function
a = contractB.getSomeData()
we can fetch the blockchain state to see what the value that contractB.getSomeData() would return and assign the value to a, instead of using a new symbolic value for a.
From @loiluu on September 21, 2016 5:4
One way to improve the performance of the symbolic execution is to consider the existing blockchain state in the execution environment. For example, if a contract calls a function
a = contractB.getSomeData()
we can fetch the blockchain state to see what the value thatcontractB.getSomeData()
would return and assign the value toa
, instead of using a new symbolic value fora
.Copied from original issue: ethereum/oyente#3