Kernel Testing Papers and Tools Collection

This blog presents a growing collection of papers and tools related to the topic of kernel testing. I (hopefully ;p) plan to update it regularly, since I want it to serve as a handy index whenever I revisit this topic.

For each paper or tool listed here, I’ll include a link to a separate page with my notes from reading or studying it. The notes are definitely not complete, but I do aim for them to be sound (hopefully!).

I collected the related papers by refering to the following surveys/summaries:

  1. A Survey of Fuzzing Open-Source Operating Systems, Kun et al. [link]
  2. Demystifying OS Kernel Fuzzing with a Novel Taxonomy, Jiacheng et al. [link]

List of Online Documents

  1. Kernel Testing Guide by kernel.org

List of Tools

  1. syzkaller: an unsupervised coverage-guided kernel fuzzer by Google.
  2. kAFL: a fast guided fuzzer for the x86 VM.
  3. KUnit: a Kernel-native unit testing framework introduced in Linux 5.5.
  4. kselftest: a set of “self tests” under the tools/testing/selftests/ directory.
  5. LTP: Linux Test Project.
  6. sparse: a semantic checker for C programs.
  7. smatch: static checker for the kernel.
  8. An automated, continuous kernel testing pipeline by Codethink.

List of Paper Notes

Written on May 13, 2025