I am working on a filter driver that performs registry callbacks. It doesn’t really fall under any specific kind of driver but is meant to capture events with the Windows registry. It is written in c++.
I am trying to get a list of code coverage tools together that will cover both the user and kernel code for my driver. Here is something I have so far:
Testwell CTC++: Costs a lot of $$ but I am unsure whether this will test a driver
Tessy
Insure++
Cantata++
TestCocoon
COVTOOL
xCover
TruCov
BullseyeCoverage
I’ve found that Bullseye is pretty useful and integrates with Visual Studio which I like.
What else to this list could I add or what on this list isn’t worth checking out?
For whatever code coverage is worth, Bullseye with some effort can be made
to work with drivers, they have provided reasonably responsive support on
this topic.
Code coverage can be especially misleading in the driver world because
while you can measure that code paths where executed with a coverage tool,
you can not measure 3rd party product interactions, or semantic
correctness. So its one of those things that might be worth the effort,
but never let a director or above see the numbers.
To expand on what Tracy stated, there are a ton of bozo managers who
will demand XX% coverage once they know you can do coverage. Even
Microsoft had an initiative like that which they hoped to add to WHQL.
I use code coverage as a review tool, areas that receive little or no
coverage get checked more than highly used code. Of course if Microsoft
or someone would produce a good fault injection tool for the kernel and
decent simulator for devices (not just the limited category DSF does),
then coverage numbers could mean more.
> > BullseyeCoverage > > For whatever code coverage is worth, Bullseye with some effort can be made > to work with drivers, they have provided reasonably responsive support on > this topic. > > Code coverage can be especially misleading in the driver world because > while you can measure that code paths where executed with a coverage tool, > you can not measure 3rd party product interactions, or semantic > correctness. So its one of those things that might be worth the effort, > but never let a director or above see the numbers. > > t.