Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fuzzing #120

Open
mratsim opened this issue Apr 26, 2020 · 1 comment
Open

Fuzzing #120

mratsim opened this issue Apr 26, 2020 · 1 comment

Comments

@mratsim
Copy link
Owner

mratsim commented Apr 26, 2020

The introduction of a wide-range of tests against a reference implementation https://github.com/mratsim/weave/blob/f8c80719/benchmarks/matmul_gemm_blas/test_gemm_output.nim highlighted synchronization bugs like syncRoot not handling dataflow parallelism (#97 #115) and deadlock or livelock (#119).

In general we need to introduce some fuzzing.

Note that due to the state explosion and non-determinism of multithreaded applications, fuzzing can only cover a very small portion of application state if done globally. Formal verification, model checking and race detection (#18) would still be required as some bugs have otherwise a low chance of being triggered.

Readings

@mratsim
Copy link
Owner Author

mratsim commented May 7, 2020

On Fuzzing Concurrent Program with C++ Atomics
Zachary Snyder, 2019
https://escholarship.org/content/qt5rw7n0xs/qt5rw7n0xs.pdf

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant