Open Source Code Coverage Tools in Java
14 projectsTop-ranked projects first.
CodeCover is an extensible open source code coverage tool, with the following features: * Supports statement coverage, branch coverage, loop coverage and strict condition coverage (aka condition/decision coverage). * Performs source instrumentation for the most accurate coverage measurement. * CLI interface, for easy use from the command line. * Ant interface, for easy integration into an existing build process. * Fully integrated into Eclipse. * Customizable HTML and CSV report. * Per test case coverage measurement. * Fully integrated with JUnit for automatic recognition of test cases. * Live notification for manual test case recognition. * Boolean Analyzer which helps to find test cases to increase strict condition coverage. * Correlation Matrix to find redundant test cases and optimize your test suite.
An eclipse plugin for code coverage visualization of JUnit Tests. Supported coverages include block coverage and all-uses coverage (Data Flow Analysis). License is CPL (Common Public License)
EMMA is an open-source toolkit for measuring and reporting Java code coverage. EMMA distinguishes itself from other tools by going after a unique feature combination: support for large-scale enterprise software development while keeping individual developer's work fast and iterative. Every developer on your team can now get code coverage for free and they can get it fast!
GroboCodeCoverage is a 100% Pure Java implementation of a Code Coverage tool. It uses Jakarta's BCEL platform to post-compile class files to add logging statements for tracking coverage.
Hansel decorates a JUnit Test class and instruments one or more classes under test to verify 100% branch coverage of the tested classes by the Test class. The Hansel-decorated TestSuite first runs all the test methods in the Test class. If any of these fail, the test fails, ie: Hansel doesn't bother verifying coverage until functional testing is 100% successful. Hansel generates additional Tests, called \"Probes,\" each of which verifies coverage for a single method or branch. Each of these will fail if the method or branch was not covered during executino of the functional tests. Hansel uses the BCEL library to instrument the class(es) under test.
InsECT which stands for Instrumentation Execution Coverage Tool, is a system developed in Java to obtain coverage information for Java programs. InsECT instruments (inserts instructions into) Java class files at the bytecode level with probes to report information about a system at runtime. The goal of InsECT is to provide detailed coverage information about Java programs by taking into full account the object-oriented behavior and language features of Java. Furthermore, as an open-source project, InsECT is designed to be extensible for use in a wide variety of dynamic analyses. InsECT utilizes the Byte Code Engineering Library.
jcoverage/gpl is a free code-coverage tool for Java programmers that allows them to measure the effectiveness of their Java tests and how much of a software program's code has been tested. jcoverage/gpl identifies how many times each line of code in your application has been executed and you can see which parts of your software remain untested. After instrumenting your code and running your tests, a report is generated allowing you to view information coverage figures from a project level right down to the individual line of code. This process is called 'code coverage'.
Jester finds code that is not covered by tests. Jester makes some change to your code, runs your tests, and if the tests pass Jester displays a message saying what it changed. Jester includes a script for generating web pages that show the changes made that did not cause the tests to fail.
This small utility is a shared library which when loaded into a Java VM (1.4+) which supports JVMDI will record all the lines of code executed. This is a relatively coarse coverage method, but good enough for a lot of purposes.
PIT is a fast bytecode based mutation testing system for Java that makes it possible to test the effectiveness of your unit tests. You can think of mutation testing as either as an automated test of your tests, or as a much more in depth form of code coverage. Unlike traditional line and branch coverage tools PIT does not just confirm that your tests execute your code, it confirms that your tests are actually able to detect faults in it.