e-Knife: slicing of Java with the EDG

Click here for a short description of the technique...

e-Knife Java is a program slicer for Java. It is based on the Expression Dependence Graph (EDG), a graph representation similar to the System Dependence Graph (SDG), but with higher granularity.

Given a Java program, first, a graph representation is generated, that contains all the control and flow interrelations. Then, the standard program slicing algorithm is used to extract slices in linear time.

You can compile and use the slicer on your own machines by downloading the source from its repository.

This webapp is a limited trial of e-Knife Java, with time and memory constraints to avoid abuse.
You can generate slices and graphs for simple programs.

You can either write down a Java program or choose one from the list of examples.

Usage instructions:

  1. Select/write your Java program.
  2. Select a variable in the editor to pick it as the slicing criterion.
  3. If you want to see the graph, select that option and adjust the edges that you want to see.
  4. Press the Slice button, and the result will be loaded on the corresponding editor.If you have selected the graph, you can download the graph using the buttons below.

, or
Slicing criterion (select it in the editor): , ,
Output the graph?