-
Notifications
You must be signed in to change notification settings - Fork 390
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stops fuzzing after first assertion failure (per function)? #682
Comments
Hi, You are right. Echidna will stop when it hits the first assertion failed. The option As an alternative, you can let echidna to explore the contract (using |
@ggrieco-tob Thanks a lot for the quick reply! Just to clarify: with This behavior was a bit unexpected for me since most fuzzers will simply accumulate all the crashes until they hit the time limit. I agree that it's nice to report violations early, but for audits and long-running campaigns it's much more difficult to "fix" the code. It might be useful to support this use case through a separate option. So, currently the process you would suggests is the following:
Is that correct? |
@ggrieco-tob I just tried the process I described above, but it doesn't report additional violations. These are the steps I followed:
Any idea what I'm doing wrong? |
Hi, A few points for this discussion:
Yes, well, Echidna will always stop fuzzing a function as soon as any violation was found within it, that's how it works. When
This a useful piece of feedback. Can you please elaborate it and post it in the Echidna 2.0 RFC PR for further discussion? Finally, in |
@ggrieco-tob Thanks a lot for the clarification! I'll try to use the I have posted a summary of this discussion here: #674 (comment). |
I have been trying to run Echidna on code that contrains multiple assertions per function. It seems like Echnida stops fuzzing a function after the first violation. Is this the case?
And if so, is there an option to keep fuzzing? I have already tried setting
stopOnFail: false
in the yaml configuration.I have created the following simple contract to reproduce this:
I got the following output using Echidna 1.7.2:
The text was updated successfully, but these errors were encountered: