Skip to content
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

Add random fuzzing of inputs #16

Closed
gakonst opened this issue Sep 20, 2021 · 5 comments · Fixed by #44
Closed

Add random fuzzing of inputs #16

gakonst opened this issue Sep 20, 2021 · 5 comments · Fixed by #44

Comments

@gakonst
Copy link
Member

gakonst commented Sep 20, 2021

ideally abstract over the backend so we can use both of the below:
https://github.com/AltSysrq/proptest
https://github.com/BurntSushi/quickcheck

instead using just the function selector as calldata, detect if the function has args and generate random inputs for N iterations
https://github.com/gakonst/dapptools-rs/blob/master/dapp/src/runner.rs#L104

@transmissions11
Copy link
Contributor

should take some pointers from the echidna fuzzing engine which keeps a malicious input db and has what they call "constant mining" (recycles state vars and return data as input)

@transmissions11
Copy link
Contributor

oh and shrinking would be rly helpful too

@gakonst
Copy link
Member Author

gakonst commented Sep 25, 2021

I think PropTest already has shrinking https://github.com/AltSysrq/proptest/search?q=shrink, as implemented in #44

@transmissions11
Copy link
Contributor

Can we keep open for adding advanced features like mutation or constant mining? Or should I crate a new issue

@gakonst
Copy link
Member Author

gakonst commented Sep 27, 2021

Yeah let's get more specific issues open for that, along with labels for each.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants