EMMA is a Java code coverage tool based on fast bytecode instrumentation. Among features that distinguish EMMA from the existing tools are extreme flexibility and speed. EMMA's project mission is to move code coverage from the domain of infrequent release gate tools to the domain of agile testing and development. EMMA attempts to convince programmers that coverage testing can be a task concurrent with unit testing itself.
To this end, EMMA provides unique features like the ability to instrument Java applications either on-the-fly or via a separate pre-processing step, efficient coverage subset filtering, rich reporting with drill-down and source code linking, and seamless command line and ANT integration. Some EMMA code coverage metrics are quite unique, e.g. fractional line coverage and weighted basic block coverage.
EMMA is platform independent and has zero external library dependencies. EMMA has existing enterprise software customers and its 2.0 release seeks to solve its own growth problems by moving issue tracking and user forums to SourceForge.
Introductory material for EMMA can be found at http://emma.sourceforge.net/