Kernel Korner: The Linux Test Project

Finding 500 bugs in 50 different kernel versions is the fruit of this thorough Linux testing and code coverage project.

Conclusion

As Linux plays an increasing role in the enterprise computing space,
robustness and reliability requirements have led to more formal testing
methods. The LTP is a functional regression testing suite used to help
improve Linux reliability. For any kernel development project, running the
LTP test suite gives you a method to help ensure your changes don't break
the kernel. As you test your kernel modifications, a GCOV-enabled kernel
and accompanying LTP tools will help you visualize the effectiveness of
your testing and help focus the test team on areas with low coverage.

In addition to test results that show kernel regressions and code coverage
gaps, the LTP and coverage analysis potentially provide a method for
measuring kernel improvement over time. Consider the simple argument:
combined with higher coverage of the kernel code, fewer kernel failures
suggest that Linux kernel reliability is improving. A study of how well
LTP tracks improvement in Linux is part of our future work.

Finally, we would like to encourage developers
to submit their tests to be included in the LTP
suite. As always, suggestions and comments are welcome,
and should be sent to the mailing lists found on the
LTP Web site.

Nigel Hinds is a member of the technical staff at IBM T. J. Watson
Research Center. He develops testing tools and maintains the kernel
coverage system for the Linux Testing Project. His other interests
include networking and distributed systems. He can be reached at
nhinds@us.ibm.com.