Files

Abstract

This semester project report describes a prototype tracing tool that records the behavior of a Java program during its execution. It explains the two methods that were attempted to implement the tool, one using the Java debug interface, which gave poor results, the other using JVM bytecode instrumentation, which gave much better results. The tracer is able to record which lines are visited during the execution, what values the variables and fields have before and after the execution of each line and what values are given as arguments to functions or returned by them. We also describe a GUI to visualize the data collected during the execution.

Details

PDF