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 · 3 comments
Open

Symbolic Rust EVM #15

gakonst opened this issue Sep 20, 2021 · 3 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
@onbjerg onbjerg added this to Foundry Apr 17, 2022
@onbjerg onbjerg moved this to Todo in Foundry Apr 17, 2022
@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.

@Silur
Copy link

Silur commented Jul 30, 2024

let's suppose the SEVM is done, what solver shall we use to exhaust the symbolic states?

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
Archived in project
Development

No branches or pull requests

5 participants