Developer(s) | Leonid Arbouzov, Alexander Petrov, Vladimir Generalov, Serguei Chukhontsev, Oleg Uliankin, Gregory Steuck, Pavel Ozhdikhin, Konstantin Bobrovsky, Robert Field, Alexander Kuzmin, Leonid Mesnik, Sergey Borodin, Andrey Titov, Dmitry Fazunenko, Alexey Fedorchenko |
---|---|
Stable release |
3.0 / September 1, 2014
|
Operating system | Cross-platform |
Type | Code coverage |
License | GNU Public License(version 2, with the Classpath Exception) |
Website | JCov |
Developer(s) | Marc Hoffmann, Brock Janiczak, Evgeny Mandrikov, Mirko Friedenhagen |
---|---|
Stable release |
0.7.9 / February 5, 2017
|
Operating system | Cross-platform |
Type | Code coverage |
License | EPL |
Website | JaCoCo |
Developer(s) | Atlassian |
---|---|
Stable release |
4.1.2 / October 11, 2016
|
Operating system | Cross-platform |
Type | Code coverage |
License | Proprietary |
Website | www.atlassian.com |
Developer(s) | Steven Christou |
---|---|
Stable release |
2.1.1 / February 26, 2015
|
Operating system | Cross-platform |
Type | Code coverage |
License | GPL 2.0 |
Website | cobertura.github.io/cobertura/ |
Developer(s) | Vlad Roubtsov |
---|---|
Stable release |
2.1 / May 13, 2005
|
Operating system | Cross-platform |
Type | Code coverage |
License | Common Public License 1.0 |
Website | emma.sourceforge.net |
Developer(s) | Michael Couck |
---|---|
Stable release |
1.0 / December 8, 2013
|
Operating system | Cross-platform |
Type | Code coverage |
License | Apache Software License, Version 2.0 |
Website |
Developer(s) | Verifysoft Technology |
---|---|
Stable release |
8.0.1 / June 30, 2016
|
Operating system | Cross-platform |
Type | Code coverage |
License | Proprietary |
Website | [1] |
Java Code Coverage Tools are of two types: first, tools that add statements to the source code and require recompilation of the source code. Second, tools that instrument the byte code, either before or during execution. The goal is to find out which parts of the code are tested by registering the lines of code executed when running a test.
JCov is the tool which has been developed and used with Sun JDK (and later Oracle JDK) from the very beginning of Java: from the version 1.1. JCov is capable of measuring and reporting Java code coverage. JCov is distributed under the terms of the GNU Public License(version 2, with the Classpath Exception). JCov has been open-sourced as a part of OpenJDK codetools project in 2014. JCov is the only code coverage tool working with a JDK release in development (JDK9 at the time of writing).
JCov is capable of reporting the following types of code coverage:
JCov implements two different ways to save the collected data:
JCov works by instrumenting Java bytecode using two different approaches:
JCov has a few more distinctive features which include, but are not limited to:
JaCoCo is an open source toolkit for measuring and reporting Java code coverage. JaCoCo is distributed under the terms of the Eclipse Public License. It was developed as a replacement for EMMA under the umbrella of the EclEmma plug-in for Eclipse.
JaCoCo offers instructions, line and branch coverage.
In contrast to Clover, which requires instrumenting the source code, JaCoCo can instrument Java bytecode using two different approaches:
And can be configured to store the collected data in a file, or send it via TCP. Files from multiple runs or code parts can be merged easily. Unlike Cobertura and Emma it fully supports Java 7 and Java 8.
Clover is a Java Code Coverage Analysis application bought and further developed by Atlassian. It is a commercial product freely available to open source projects and non-profit institutions.