Using Compressed Bytecode Traces for Slicing Java Programs

12 years 9 months ago
Using Compressed Bytecode Traces for Slicing Java Programs
Dynamic slicing is a well-known program debugging technique. Given a program P and input I, it finds all program statements which directly/indirectly affect the values of some variables' occurrences when P is executed with I. Dynamic slicing algorithms often proceed by traversing the execution trace of P produced by input I (or a dependence graph which captures control / data flow in the execution trace). Consequently, it is important to develop space efficient representations of the execution trace. In this paper, we use results from data compression to compactly represent bytecode traces of sequential Java programs. The major space savings come from the optimized representation of data (instruction) addresses used by memory reference (branch) bytecodes as operands. We give detailed experimental results on the space efficiency and time overheads for our compact trace representation. We then show how dynamic slicing algorithms can directly traverse our compact traces without reso...
Tao Wang, Abhik Roychoudhury
Added 09 Dec 2009
Updated 09 Dec 2009
Type Conference
Year 2004
Where ICSE
Authors Tao Wang, Abhik Roychoudhury
Comments (0)