> > It seems pretty fast too.
>
> In JBlanket's defense, the apparent speed of Emma might really be due to
> the overall speedup in the build (and particularly, the increases in JUnit
> tests since all tests for a module now execute within a single JVM).

It's also likely that they're using a different bytecode library.  ASM
[1] claims that it's 700% faster than BCEL; which JBlanket uses.  I've
got started with ASM in JBlanket (code is committed to CVS), but it's
not finished (grrr, I'm doing too many things at once, grr).  I looked
at Emma today as well on my project, and realized for the first time
how much I missed the branch/block/line stuff.

Here's an interesting thought:  There's an XML report [2] available
from Emma, even thought it's format will change soon [3] it'll be
around in some form for a long time.  Since the point of the XC metric
is to "skip" counting methods that aren't worth the coverage effort,
could you achieve the same result by combining the XML output from
Emma, and the LOCC output.

Since the XC measurement is essentially virtual (raw data => business
rule/transformation process that says "don't count that" => final
numbers), JBlanket doesn't really _need_ to do the actual code
coverage measurement itselft.  It just needs to interpret the numbers.
 Perhaps we could figure out a way to create the XC metric from a
variety of underlying measurement tools like Emma or others, if their
output is at least down to the method level.

This could eliminate the complexity of actually creating an efficient
coverage tool AND a customized metric, and open the door to a host of
other "heuristic metrics".  Essentially, most people stop trying to
get 100% coverage from normal tools, and any number after that's just
fuzzy -- there's no hard line for quality.  The XC concept is that
this "heuristic metric" is "close enough" to warrant a hard quality
push (like XP's unit test green bar).  If one sensor that essentially
applies heuristics to raw data, but gets better behavior results or
long term adoption; perhaps other "heuristic metrics" could be
designed to generate telemetry streams that sit above the raw data and
provide a more realistic Red/Green goal.

Perhaps there's something larger here...or perhaps it's just too soon
after lunch. :-)  Thoughts on my heresy?

--Tim

[1] http://asm.objectweb.org/
[2] http://emma.sourceforge.net/coverage_sample_c/coverage.xml
[3] http://emma.sourceforge.net/samples.html

Reply via email to