[Soot-list] Retaining debug information through Soot?

Nathan Deisinger ndeisinger at wisc.edu
Sun Nov 10 18:02:31 EST 2013


Hi folks,

I'm an undergraduate at the University of Wisconsin-Madison; the group 
I've been working with has recently developed a method for performing 
lightweight path profiling and call coverage instrumentation to aid in 
debugging (see Ohmann 2013 
<http://pages.cs.wisc.edu/%7Eliblit/ase-2013/ase-2013.pdf>).  This 
instrumentation is applied through a transformation in the LLVM compiler 
framework which adds both instrumentation to perform the actual 
profiling and variables which store the results.  These variables can 
then be observed in a crash dump to reconstruct useful information about 
the program's execution.

As part of my work with the group, I'm investigating extending this 
concept to Java programs.  In my time experimenting with Soot it seems 
like an excellent fit for creating the necessary instrumentation; 
however, it seems like Soot discards all debug information (eg. local 
variable tables) as it runs.  As the intended use of this program is to 
recover information from a crash dump (in the Java case, an uncaught 
exception or other error), losing the debug symbols makes it extremely 
difficult to extract the information we collect.

Is there some known way for Soot to maintain debug information 
throughout its transformations? More importantly, debug symbols for 
variables added through Soot would also have to be included in the final 
class file.

Thanks very much in advance.
-Nate
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20131110/bef68845/attachment.html 


More information about the Soot-list mailing list