[Soot-list] Chicken-and-egg problem

ASHISH MISHRA ashish123.mishragkp at gmail.com
Tue May 7 01:54:52 EDT 2013


Hello,
I tried to perform a String analysis before the cg phase , to get the
target of some of the reflective calls, and inlined the code for these
calls explicitly , and I too faced a similar problem while using the Java
String Analyzer (built on top of soot). I used a separate soot analysis for
the JSA and created used spark for generating a call graph on the fly, with
this I was able to get the virtual methods edges, which gives a little
better results than the usual JSA does. and then used this information in
wjpp transform to resolve targets if reflective calls before the cg phase.






On Sun, May 5, 2013 at 3:04 PM, Rohan Padhye <rohanpadhye at cse.iitb.ac.in>wrote:

>  Hello,
>
> Isn't it possible to manually run a call graph phase from inside a "wjpp"
> phase transformer? That way, you can have method bodies of all reachable
> methods (or their superset) loaded, can run any inter-procedural
> transformations, and then the subsequent actual "cg" phase will be run as
> usual constructing a call graph on the transformed program, which might be
> better than the first version.
>
> Will this mess up anything? (I don't really know all of Soot's internals
> and how bodies and call graphs are dependent)
>
>
> On Sunday 05 May 2013 01:46 PM, Eric Bodden wrote:
>
> Hello.
>
> That's really hard to do without major modifications to the way Soot works. I guess you would need to discover call edges on the fly, which means that you cannot use Heros as it is right now.
>
> Eric
>
>
> On 02.05.2013, at 01:13, Marc-André Laverdière-Papineau <marc-andre.laverdiere-papineau at polymtl.ca> <marc-andre.laverdiere-papineau at polymtl.ca> wrote:
>
>
>  Hello,
>
> I am trying to make transformations in the wjpp phase in order to get a
> better call graph. That will be used for IFDS analyses later.
>
> But here is the problem: I am not guaranteed to have all the information
> within a single method. So I need an interprocedural analysis.
>
> But I don't have a call graph, nor any points-to information.
>
> So how do I break that cycle?
>
> Thanks and regards,
>
> --
> Marc-André Laverdière-Papineau
> Doctorant - PhD Candidate
> _______________________________________________
> Soot-list mailing listSoot-list at sable.mcgill.cahttp://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>
>  --
> Eric Bodden, Ph.D., http://sse.ec-spride.de/ http://bodden.de/
> Head of Secure Software Engineering Group at EC SPRIDE
> Tel: +49 6151 16-75422    Fax: +49 6151 16-72051
> Room 3.2.14, Mornewegstr. 30, 64293 Darmstadt
>
>
>
>
> _______________________________________________
> Soot-list mailing listSoot-list at sable.mcgill.cahttp://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>
>
> --
> Regards,
> Rohan Padhye
>
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>
>


-- 
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/20130507/4b75cb64/attachment.html 


More information about the Soot-list mailing list