MCPcopy Index your code
hub / github.com/MariusVanDerWijden/FuzzyVM

github.com/MariusVanDerWijden/FuzzyVM @0.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.3 ↗ · + Follow
161 symbols 519 edges 26 files 40 documented · 25%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

FuzzyVM [fuzz​ɛvm]

A framework to fuzz Ethereum Virtual Machine implementations. FuzzyVM creates state tests that can be used to differential fuzz EVM implementations against each other. It only focus on the test generation part, the test execution is handled by goevmlab.

Environment

You need to have golang and go-ethereum installed

Install instructions

# Clone the repo to a place of your liking using
git clone git@github.com:MariusVanDerWijden/FuzzyVM.git
# Enter the repo
cd FuzzyVM
# Build the binary
go build
# Create an initial corpus
./FuzzyVM corpus --count 100  
# Run the fuzzer
./FuzzyVM run

Corpus

It makes sense to create an initial corpus in order to improve the efficiency of the fuzzer. You can generate corpus elements with ./FuzzyVM corpus --count N, which will generate N corpus elements.

You might create corpus that is to big, you can minimize your corpus with ./FuzzyVM minCorpus.

Bench

You can run a benchmark with ./FuzzyVM bench.

Extension points exported contracts — how you extend this code

Strategy (Interface)
(no doc) [19 implementers]
generator/strategy.go

Core symbols most depended-on inside this repo

Uint64
called by 27
filler/fill.go
Byte
called by 24
filler/fill.go
BigInt32
called by 21
filler/fill.go
MemInt
called by 20
filler/fill.go
ByteSlice
called by 13
filler/fill.go
ByteSlice256
called by 12
filler/fill.go
Push
called by 10
generator/jumptable.go
CallRandomizer
called by 10
generator/precompiles/precompiles.go

Shape

Method 71
Function 53
Struct 35
Interface 2

Languages

Go100%

Modules by API surface

generator/basic_strategies.go39 symbols
filler/fill.go19 symbols
generator/call_strategies.go12 symbols
generator/jumptable.go9 symbols
main.go8 symbols
generator/strategy.go8 symbols
filler/fill_test.go8 symbols
fuzzer/fuzzer.go7 symbols
generator/jump_strategies.go6 symbols
fuzzer/fuzzer_test.go6 symbols
generator/precompiles/precompiles.go5 symbols
generator/precompiles/bn256pairing.go4 symbols

For agents

$ claude mcp add FuzzyVM \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page