Hi,

I evaluated several open source code coverage tools as candidates for Derby code coverage. These included EMMA, Clover, and Jcoverage/GPL.

The main reason of choosing EMMA was its feature to instrument class files instead of source files. Instrumentation is basically adding/inserting reporting code into an application code or executables. Instrumentation can be done at 2 levels - source code level or class files level. Clover supports instrumentation at source files level for which Derby build.xml files will need to be modified to add clover tasks to instrument the source code and then compile the instrumented source code.

As EMMA supported instrumentation at class files level, there is no need to modify Derby build xml files. Developers can simply download Derby jar files or build Derby jar files and instrument them with one simple command before running Derby test suites/test cases. As EMMA instrument command takes jar files as input, there is no need to unjar the jar files and then give class files as input.

In case of Jcoverage/gpl, it took only classes as input. Also, Jcoverage/gpl is not supported, does not include bug fixes, has limited scalability and documentation.

I have written a document to provide information to the Derby community regarding the use of EMMA as a code coverage tool. I am attaching the document to this message.


Thanks, Raman ([EMAIL PROTECTED])

Attachment: DerbyCodeCoverageUsingEmma.pdf
Description: Adobe PDF document



Reply via email to