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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions