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

Symbolic Rust EVM #15

Open
gakonst opened this issue Sep 20, 2021 · 2 comments
Open

Symbolic Rust EVM #15

gakonst opened this issue Sep 20, 2021 · 2 comments
Labels
A-evm Area: EVM A-symbolic-execution Area: symbolic execution

Comments

@gakonst
Copy link
Member

gakonst commented Sep 20, 2021

Motivation

Fuzzing is great but it does not cover all potential code paths, it just sprays and prays randomly right now

Solution

Create a Rust Symbolic EVM which we ideally implement the Evm trait for so that it can be used seamlessly in forge.

Other Context

Symbolic evms impls:

Blogs

@transmissions11
Copy link
Contributor

can get the best of both worlds with symbolic seed fuzzing:

telegram-cloud-photo-size-1-5064516150456592870-y

@gakonst gakonst added A-evm Area: EVM A-symbolic-execution Area: symbolic execution labels Sep 27, 2021
@gakonst gakonst changed the title Symbolic EVM Braindump Symbolic Rust EVM Dec 21, 2021
@drawnwren
Copy link
Contributor

drawnwren commented May 30, 2022

Does anyone have good resources for building a performant symbolic execution engine? I am thinking of giving it a shot, but would like a better grasp of best practices + theory.

edit: The manticore paper is good and here's a good explanation of symbolic state merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-evm Area: EVM A-symbolic-execution Area: symbolic execution
Projects
No open projects
Status: Todo
Development

No branches or pull requests

3 participants