Slide 27
Slide 27 text
Effect Handlers + Fuzzing
• Simulate parallel thread scheduler using effect handler
s
✦ OS thread scheduler → user-level thread schedule
r
✦ Retain control over the scheduling decisions
• Fuzzing the schedule
r
✦ Yield at every synchronisation point
✤ Synchronisation point — context-switch leads to non-determinis
m
✦ Use AFL to pick next thread to run from ready queue
• Synchronisation point
s
✦ Domain (spawn, join), Atomic (get, set, CAS), Mutex (lock, unlock),
Condition variable (wait, notify, broadcast)