Dynamic Control Flow Analysis for EzUnit


to improve the precision of EzUnit by identifying reflective method calls responsible for failures

System requirements


In order to install EzUnit, please unpack the zip-archive into your Eclipse main folder. Note that the plugins-directory is already included in the zip-file, so the EzUnit plug-in with the dynamic control flow extension will automatically be put into the correct folder.

If you already have the EzUnit plug-in installed, you must completely remove the previous installation and delete all OSGi manifest files that reside in the eclipse folder. We will provide an update site for the dynamic control flow extension soon, so that this issue will be gone.


The usage of EzUnit without the dynamic control flow analysis remains the same. You can create your test cases as described on the EzUnit project page at http://www.fernuni-hagen.de/ps/prjs/EzUnit/.

In order to enable the dynamic analysis, you have to run your test case with a special launch configuration:

  1. Be sure to have your test case open in the Java editor in Eclipse.
  2. Select Run > Run... from the menu and create a new Extract Dynamic Calls-Run configuration by right clicking on it and selecting new.

  1. You can set runtime parameters as you would in a standard JUnit test case. The default parameters, however, should be ok in most cases.
  2. Note the run time configuration tab labeled DySTracT (for Dynamic Software Tracing Tool). If you click on that tab, you can configure settings for the tracing tool. For example, you can specify, which filters to use in JNI notation.

  1. As soon as you are satisfied with the run settings, you can click on the run button to start the test run.

For now, there is no feedback as to what the dynamic analysis is currently doing. After a while, however, the JUnit run view should appear as usual and the passing and failing tests are displayed.

After the JUnit test run has ended, you can see the EzUnit annotations in the problems view of Eclipse to check if the dynamic analysis has found any more bugs. Please be aware that it might take several seconds until the results are displayed.