[Soot-list] Converting reflection code to static code
ASHISH MISHRA
ashish123.mishragkp at gmail.com
Thu Feb 7 15:47:02 EST 2013
Hi all,
I understand how to use tamiflex to handle reflection using soot. i wish to
solve the problem(To some extent , since, exact solution could not be
computed.) using String analysis, pointer analysis and some other static
ways. My main concerns is -
Suppose I have a code fragment say its original Program P
//
4String str= "someclassname"
5Class clazz = Class.forNmae(str);
6Method mt=clazz.getMethod("execute", null);
7 mt.invoke(o , null);
//some other code.
I can analyze the argument passed to the dynamic class loading at line 5
using the String analysis and if its is a Constant string or it can be
tracked via some other means I can enrich this program P to some thing like
4String str= "someclassname"
5Class clazz = Class.forNmae(str);
6Method mt=clazz.getMethod("execute", null);
7 mt.invoke(o , null);
someclass sc = new someclass();
sc.execute();
//some other code. say p'
And finally run Call Graph construction algorithm on P'
My first question is -
I am confused about where to add my transformation-
1)wjop - looks most promising ,as I am optimizing the source
2)cg
3wjtp
Secondly
Do I need to add two different transformations ,
one to generate an On the fly Call graph with pointer analysis and String
analysis
and then apply the transformation from P to P' and then again generate a
Call graph again. i need a precise Call graph of whole application with
reflection information added by a side analysis like String , pointer and
other static analysis.
Is its possible to get a precise inter procedural dataflow analysis
independent of Call graph construction. I feel its not possible as they
both are interlinked.
Please help me on this.
--
Regards,
Ashish Mishra
Graduate Student,
Computer Science and Automation Department,IISc
Cell : +91-9611194714
Mailto : ashishmishra at csa.iisc.ernet.in
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20130208/9f21029f/attachment.html
More information about the Soot-list
mailing list