Skip to content

Shared state in multi-process fuzzing #2366

Answered by domenukk
momvart asked this question in Q&A
Discussion options

You must be logged in to vote

Is it really how Launcher is intended to work or am I missing something?

Yes, this works as intended! Nodes do exchange Testcases between each other through lock-free message passing, however they otherwise work independently of each other and have their own internal state for optimal scaling.

Tightly coupling fuzzers using a shared state would have multiple downsides:

  • Accessing the shared state is (relatively) very costly due to the synchronization overhead. Scaling to cores would suffer a lot.
  • Nodes should run somewhat independently of each other in order to explore the target in different ways (it's all randomic, anyway)
  • In any case we do not "block" inputs that have already been ex…

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@momvart
Comment options

Answer selected by momvart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants