Engineering logo

Bosch logo

Intland logo

RCP logo

BMW logo

Sigsdatacom logo

BSI logo

Microsoft logo

CAS logo

Andrena logo

bsi logo

OSBF logo

Open Source logo

Bredex logo

sopera logo

Microdoc logo

O'Reilly logo

Soyatec logo

compeople logo

itemis logo

dpunkt logo

Sontatype logo

Eclipsesource logo

sap logo

Xored logo

Oracle logo

Vogel logo

Actuate logo

The Future of Code Coverage for Eclipse

Marc R. Hoffmann

Other / New & Noteworthy · Short
Wednesday, 15:00, 25 minutes | Silchersaal


EclEmma is a widely used code coverage tool for Eclipse JDT. In this talk the author of EclEmma provides a short introduction in code coverage techniques and the EclEmma plug-in itself. The main part is about current and future efforts to create a new code coverage technology called JaCoCo as a replacement for the abandoned EMMA project. Several technical requirements and implementation approaches are discussed and demonstrated with the latest JaCoCo version.

When EclEmma has been created in 2006 the original focus was a sole Eclipse integration of the EMMA code coverage library. Three years later and after receiving two Eclipse Community Awards EclEmma is primary recognized as a free Eclipse code coverage tool. During the whole time the EMMA project itself had no development activity or maintenance efforts. Due to several open issues and outstanding features in EMMA this situation is becoming more and more critical to the EclEmma plug-in.

When looking for alternatives for EMMA it became obvious that all of the open source coverage technologies available for Java are not designed for integration. Most of them are specifically fit to a particular tool (Ant tasks, command line, IDE plug-in) and do not offer a documented API that allows embedding in different contexts. EMMA is still one of the best tools, but unfortunately not actively maintained any more by the original author. Due to the lack of regression tests maintenance and feature additions will become very difficult.

Mid of 2009 we decided to create a new code coverage technology based on the experience from 3 years of bringing a code coverage tool into Eclipse: The project is called JaCoCo and should become the standard tool for instrumentation based code coverage in Java VM based environments. The focus is providing a lightweight, flexible and well documented library for integration with various build and development tools. Ant tasks are provided as reference usage scenarios. The architecture of JaCoCo in particular supports dynamic architectures like Eclipse/OSGi based execution environments. Beside other demos the talk will demonstrate how JaCoCo code coverage has been integrated into the JDT test suites.

Marc works as an independent consultant and was responsible for the development of several commercial as well as open source Eclipse/RCP based projects and software products since 2004. He is the initial author and project lead of the EclEmma plug-in. In 2009 Marc started the JaCoCo project to establish a new alternative to existing Java code coverage technologies.

Download Material

Download file of related material.