You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In most cases, shrinking a transaction input is not necessary to understand why a property broke.
This is especially true when bounding the input parameters since what Echidna sees as a maximum/minimum value may differ from what the clamping algorithm considers the valid range.
In some cases, such as in external testing, addresses are often mapped to Echidna's default list of actors (address(0x10000), address(0x20000), address(0x30000)), so converting from address(0x1fffffffe) to address(0xdeadbeef) is even more pointless.
Feature Request
This is a feature request to add additional configuration parameters to fine-tune the shrinking behavior.
Currently, as I understand it, the fuzzer tries to minimize both the number of calls that led to a broken property and each call's inputs.
By splitting the shrinkLimit value into shrinkLimitCalls and shrinkLimitValues, for example, we would allow developers to select which behavior they want from the fuzzer.
The text was updated successfully, but these errors were encountered:
I would like to have rudimentary support for tweaking the weights of different shrinking behaviours such as reducing variables vs. removing transactions.
Having this would be very useful in scenarios where many small transactions with opposite effects can be shrunk away to one or two single transactions.
Describe the desired feature
Description
In most cases, shrinking a transaction input is not necessary to understand why a property broke.
This is especially true when bounding the input parameters since what Echidna sees as a maximum/minimum value may differ from what the clamping algorithm considers the valid range.
In some cases, such as in external testing, addresses are often mapped to Echidna's default list of actors (
address(0x10000)
,address(0x20000)
,address(0x30000)
), so converting fromaddress(0x1fffffffe)
toaddress(0xdeadbeef)
is even more pointless.Feature Request
This is a feature request to add additional configuration parameters to fine-tune the shrinking behavior.
Currently, as I understand it, the fuzzer tries to minimize both the number of calls that led to a broken property and each call's inputs.
By splitting the
shrinkLimit
value intoshrinkLimitCalls
andshrinkLimitValues
, for example, we would allow developers to select which behavior they want from the fuzzer.The text was updated successfully, but these errors were encountered: