Skip to content

Ideas and resources for fuzzing shared-everything threads #84

@fitzgen

Description

@fitzgen

This issue is intended as a place for discussion about approaches we can all use to improve our assurances that we correctly implement this proposal. A place to share relevant papers, moonshot ideas, etc...

Unlike many other Wasm proposals,1 we can't effectively exercise this proposal's additions to the language by just simply generating pseudo-random Wasm modules that contain this proposal's new instruction and feeding those into the system under test.

Off the top of my head, we need to additionally do things like

  • actually spawn multiple threads
  • check whether the dynamic trace of accesses across threads is valid given the happens-before relationships imposed by those operations used to make those accesses
  • ideally avoid dead locks in these generated concurrent programs

Footnotes

  1. To some degree everything here applies equally to the original threads proposal, but shared-everything threads expands the scope much further.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions