Design and Implementation of an Efficient Dynamic Slicer for Java
by Clemens Hammacher

Bachelor's Thesis, Saarland University, November 2008.

Download as PDF file.

See also

More information is available at


Dynamic slicing is a well known technique in automated debugging. For a concrete program run and the slicing criterion consisting of a program location and a set of variables, it computes the set of instructions that affected the values of the variables at this location. Although dynamic slicing has been studied extensively, there is only one implementation of a dynamic slicer available for Java, called JSlice. Since this implementation does only work on few programs and is difficult to set up and to use, we are designing a new dynamic slicer (JAVASLICER) from scratch. To make our implementation future-proof and independent from the VM implementation, we use a Java Agent to instrument the bytecode of the program under suspect. In this thesis, we describe the design decisions that have been taken as well as some aspects of the technical implementation. We also mention some improvements regarding the performance as well as the representation and compression of the execution trace, that builds the basis for the slice computation. In the evaluation section, we show that JAVASLICER is fully functional and exceeds the existing solution in several aspects.

BibTeX Entry

    title = "Design and Implementation of an Efficient Dynamic Slicer for {Java}",
    author = "Clemens Hammacher",
    year = "2008",
    month = nov,
    howpublished = "Bachelor's Thesis",
    school = "Saarland University",

Show all publications of the Software Engineering Chair.