Completed
Bring fuzzing to the concurrency dimension
Class Central Classrooms beta
YouTube videos curated by Class Central.
Classroom Contents
Krace: Data Race Fuzzing for Kernel File Systems
Automatically move to the next video in the Classroom when playback concludes
- 1 Intro
- 2 Let's talk about data race
- 3 The classic race condition example
- 4 High level of concurrency in the Linux kernel
- 5 A data race in the kernel
- 6 Fuzzing as a way to explore the program
- 7 Code coverage as an approximation
- 8 The conventional fuzzing process
- 9 Back to our data race example
- 10 Bring out data races explicitly with a checker
- 11 Checking data races - locking
- 12 Checking data races - ordering (causality)
- 13 A slightly complicated data race
- 14 Case simplified
- 15 All interleavings yield to the same code coverage!
- 16 Incompleteness of CFG edge coverage
- 17 A multi-dimensional view of coverage in fuzzing
- 18 Visualizing the concurrency dimension
- 19 Bring fuzzing to the concurrency dimension
- 20 Concurrency coverage tracking
- 21 A straw-man solution
- 22 Observations on practical interleaving tracking
- 23 Aliased-instruction coverage
- 24 Active interleaving exploration - ideal case
- 25 Active interleaving exploration through delay injection
- 26 Bring them all together
- 27 Alias coverage growth will be saturating
- 28 Edge and alias coverage goes generally in synchronization
- 29 Conclusion and contribution