The Future of Code Coverage for Eclipse
Making For Eclipse · Standard (25 mins)
Tags: Java , Test And Performance , Tools
Thursday, 15:50, 25 minutes | Winchester
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 current 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. Other tools like a ready to use Eclipse plug-in (future version of EclEmma) or a Maven plug-in might follow.
Marc works as an independent consultant and was involved in 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.