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

Fuzzing Service #261

Open
tomusdrw opened this issue Dec 19, 2024 · 0 comments
Open

Fuzzing Service #261

tomusdrw opened this issue Dec 19, 2024 · 0 comments
Labels
debugger enhancement New feature or request

Comments

@tomusdrw
Copy link
Contributor

tomusdrw commented Dec 19, 2024

The debugger should support in-browser fuzzing of multiple PVMs.

  1. Depending on whether it's possible to use jazzer in browser (I believe not), we might need a backend that will be generating the programs.
  2. After we get the program, we run that program on all PVMs the user have loaded (this may include uploaded WASM and most importantly external PVMs accessed via RPC) until there is a difference in registers/status/gas/pc.
  3. If everything is okay, we move to another program. If not, we stop and let the user debug why it's wrong.
  4. It should be possible to reset the execution of that program.
  5. It should be possible to download the program for later use (generic format or SPI if we generate random registers as well).

This fuzzing will obviously not be very performant. The coverage will be take rather from typeberry implementation, not the implementation under test, yet I think it's still going to be extremely useful for anyone who wants to write PVM interpreter from scratch.

For more mature implementations it's definitely much better to have some native fuzzing solution instead.

@tomusdrw tomusdrw added enhancement New feature or request debugger labels Dec 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
debugger enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant