[Soot-list] Reflection Method
olhotak at uwaterloo.ca
Thu Jan 25 15:39:34 EST 2007
On Thu, Jan 25, 2007 at 04:33:59PM +1100, Peng Gao wrote:
> I am using soot to generate PAG for some analysis. However, when I am
> running soot on some code with invocation to reflection methods like
> java.lang.Class: newInstance(), for example:
> String input = in.readLine();
> Class clazz = Class.forName(input);
> Object obj = clazz.newInstance();
> ClassJ j = new ClassJ();
> ClassK k = new ClassK();
> I can only find two objects:
> AllocNode 4014 new pakD.ClassK in method <pakD.ClassI: void main
> AllocNode 4013 new pakD.ClassJ in method <pakD.ClassI: void main
> I turned the option 'safe-newInstance' on and soot should assume
> newInstance() to call any constructor.
> I am expecting to see some other allocNode created by the
> constructors invoked by newInstance(), but I didn't find any.
> So i am just wondering if I need to turn on some other options and
> how does soot treat with the objects created in each constructor
> invoked by reflection method?
The -dynamic-class option tells Soot that a given class may be loaded by
> Thank you very much for your help.
> Peng Gao
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
More information about the Soot-list