Implementation of a Branch Tracing Tool and Regression Test FrameworkHiro Yoshioka (email@example.com)
We have developed a linux kernel regression test framework ("crackerjack"), and a branch coverage test tool ("btrax"), to capture kernel regression. Crackerjack is a harness program and a set of test programs. It runs test programs, records the results, and then compares the expected results. Therefore, if a particular system call failed in a release and was then fixed in a later release, crackerjack records this as non-favorable because of incompatibility. The btrax is an integrated component of crackerjack and is a tool to assess test programs' effectiveness. It uses Intel processor's branch trace capability and records how much of code was traced by a test program. Crackerjack is initially designed for Linux kernel system call testing, but care has been taken to allow future expansion to other types of software.