Finally able to get some coverage information about which functions, local variables, and global variables are never used by the testing. -Checked out the cvs sytemtap -configured to install in /home/wcohen/systemtap_write/install -built and installed with "make install" -Set environment variable: export SYSTEMTAP_COVERAGE=true -ran "make installcheck" in the build directory .cd into build directory's testsuite/.systemtap -The database is stored in 'uname -r'.db I ran the following queries to get get information about which global and local variables unused, and unused functions in the tapsets. sqlite3 -separator : 2.6.9-55.0.2.ELsmp.db \ "select file, line, col, name from counts where (compiled='0' and type='2')" \ |grep tapset > /tmp/unused_functions.txt sqlite3 -separator : 2.6.9-55.0.2.ELsmp.db \ "select file, line, col, name from counts where (compiled='0' and type='3')" \ |grep tapset > /tmp/unused_locals.txt sqlite3 -separator : 2.6.9-55.0.2.ELsmp.db \ "select file, line, col, name from counts where (compiled='0' and type='4')" \ |grep tapset > /tmp/unused_global.txt The resulting files output is attached. The elements are separate by ':'. First file name followed by row and column. Then the object name. Caveats about the coverage implementation: -It currently doesn't track probe aliases, so all the probes in the data base are used, there are no listing of unused probe points. -The data recording happens in the elaboration phase, so tests that just run to -p2 or -p3 are counted as compiled even if though the C compiler never sees the generated code -The local variable names include munging for the function generated to access the local variable. -Will