[Soot-list] Getting started on call custom graph construction

Bernhard Berger berber at tzi.de
Fri Dec 21 10:36:06 EST 2012


Hi Marc-André,

integrating such optimizations into soot is not trivial. There are preprocessing phases that are executed before cg construction that may help.  Some problem you may encounter  is that you want to load additional classes into soot according to your JEE-specific construction rules. For instance, you find an additional dependency based on some deployment descriptor. But at this point class loading already finished and soot will complain if you try to load a new class. The solution I chose is to run soot twice. In a first step I search for information and store them in a file (similar to the information about reflection). In the second run I use the file to load additional classes and to modify the existing code base. This solution is not perfect since two rounds may not be sufficient but it is the best I found up to now.

Bernhard 

Am 21.12.2012 um 12:39 schrieb Marc-Andre Laverdiere-Papineau <marc-andre.laverdiere-papineau at polymtl.ca>:

> Hello,
> 
> I am trying to protype some crazy ideas for call graphs more suited for 
> analysis of JEE applications. The problem comes in the integration in Soot.
> 
> If I create something I run after soot main, the class bodies have been 
> unloaded, so that's doing nothing.
> 
> If I try to add it to the cg pack, cg complains that I didn't enable any 
> of the analyses... So, how do I get started?



More information about the Soot-list mailing list