RCU Mutation Testing
Channel: Linux.conf.au 2016 -- Geelong, Australia
Date: 2016-02-06

Paul McKenney
https://linux.conf.au/schedule/30386/view_talk
Mutation testing is an automated test technique often used in academia to
determine the quality of test suites and the robustness of programs. Though
seen as the gold standards by academics, it has seldom been applied to
programs longer than a few hundred lines of code due to the computational
explosion it is prone to as programs grow.

We have been working to adapt this technique to the practical exigencies of
the RCU to evaluate its testing harness as well as identify new bugs in a more
scalable and automated way. By rapidly triaging and throwing away
uninteresting mutants we have been able to use this technique to identify 1
bug and 2 test case modifications in a relatively well-established and solid
module of the Linux Kernel over the last few weeks.

In this talk, I will describe mutation testing and its potential, how we
overcame the scalability issues associated with this technique, and how this
technique can successfully be used to identify hairy bugs in big and complex
systems.

Joint work with Iftekhar Ahmed, Alex Groce, and Carlos Jensen, all of Oregon
State University