Fuzzing Channel-Based Concurrency Runtimes using Types and Effects
summary
An automatic generator produces terminating effects and emits small, type- and effect-correct programs to fuzz channel runtimes; effects are built by generation, expansion and reordering rules that preserve termination. The tool spawns 5000 programs per implementation and runs each with a 30s timeout. Evaluation finds two new Flix bugs, reproduces a Kotlin stack overflow and a Crystal deadlock, and finds no bugs in Go, showing the rules and weights are necessary to trigger real concurrency implementation faults.
AI-written summary · about
chapters (8)
- 0:00Start
- 1:36The Select Keyword
- 4:56Grammar Based Fuzzing
- 7:25Generation Phase
- 8:12Generation Rules
- 11:21Evaluation
- 13:18Second Research Questions
- 13:46Recap
related talks
52mStructure aware fuzzing
31m“Fuzz or lose..."
53mFuzz Testing for Fun and Profit
53mThree Colours of Fuzzing: Reflections and Open Challenges
14mFuzzing C++ Compilers via Type-Driven Mutation
27mPractical Fuzzing in Go
38mTesting with two failure seeking missiles: fuzzing and property based testing
11mEncarsia: Evaluating CPU Fuzzers via Automatic Bug Injection
