argotorg / argotorg/hevm

Separation of concrete and symbolic execution

Open
#953 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
358
Forks
79
Avg merge
1d 1h
Merged PRs (30d)
6

Description

Disentangling concrete and symbolic representation and execution has a potential to significantly improve runtime performance while simultaneously making the codebase less complex and easier to maintain.

For example

- all the gas related computations could be removed from symbolic exploration
- concrete execution could use only concrete representation, without the need to deal with `Exprs`.

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are named. Begin by mapping the concrete and symbolic representations and execution paths, then identify where gas computations and Exprs cross those paths. Done means the two execution modes are separated without changing their intended behavior and with performance or complexity improvements demonstrated.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
blockchain, compilers
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.