[Soot-list] How to Get a Call Graph Using On-The-Fly Analysis

Rohan Padhye rohanpadhye at cse.iitb.ac.in
Thu May 2 08:52:00 EDT 2013


Hi,

Spark is flow-insensitive and context-insensitive by default. I hear 
there are some new options that allow some context-sensitivity.

Paddle is another framework that is built for context-sensitivity. 
However, it is still flow-insensitive and context-sensitivity is k-limited.

I have developed a flow-sensitive + context-sensitive analysis myself, 
described in the paper available at: http://arxiv.org/pdf/1304.6274.pdf, 
as an instance of a value-based inter-procedural framework. However, 
this implementation of points-to analysis is still a work-in-progress, 
and is not integrated into a default installation of Soot. The code is 
available at: https://github.com/rohanpadhye/vasco.

Regards,
Rohan

On Thursday 02 May 2013 05:54 PM, 杨鹏 wrote:
> Hello,
>
> The information that you provided is really helpful in building the 
> on-the-fly call graph. Thanks for your reply.
>
> Then, I still have two more questions about the call graph:
>
> 1. What's the precision about the on-the-fly call graph, is it 
> flow-sensitive? or context-sensitive?
> 2. If I want to know how the call graph is built in a on-the-fly way, 
> what can I do? I mean, is there any paper about it or I should 
> read relevant source codes in soot?
>
> Thanks.
>
> Peng Yang,
> Southeast University, China
>
>
> At 2013-05-01 23:46:24,"Rohan Padhye" <rohanpadhye at cse.iitb.ac.in> wrote:
>
>     Hello,
>
>     There is a nice summary of all options here:
>     http://www.sable.mcgill.ca/soot/tutorial/usage/,
>     and phase-specific options here:
>     http://www.sable.mcgill.ca/soot/tutorial/phase/phase.html
>
>     On-the-fly call graph is, for example, supported by Spark. You can
>     enable Spark using the option "-p cg.spark enabled:true".
>
>     If you want to examine the call graph, then instead of using these
>     options on the command-line, what you can do is pass these options
>     (as a string) to soot.Main.main(), after which you should be able
>     to access the constructed call graph using Scene.v().getCallGraph().
>
>     Hope this helps.
>
>     Regards,
>     Rohan
>
>     On Wednesday 01 May 2013 08:15 PM, 杨鹏 wrote:
>>     Hello,
>>
>>     Thanks for your suggestion. However, it's a little difficult to
>>     find the relevant options in soot main without a guideline. May I
>>     get more details about it or where can I get a guideline about
>>     it? Thanks again for your help.
>>
>>     Peng Yang,
>>     Southeast University, China
>>     在 2013-05-01 08:19:05,"Marc-André Laverdière"<marc-andre.laverdiere-papineau at polymtl.ca>  写道:
>>     >Hello,
>>     >
>>     >Please use soot main with the relevant options
>>     >--
>>     >Marc-André Laverdière
>>     >PhD Candidate - Doctorant
>>     >Sent from a mobile device - please excuse the brevity
>>     >
>>     >"杨鹏"<yangpeng3314 at 163.com>  wrote:
>>     >
>>     >>Hello,
>>     >>
>>     >>
>>     >>I found that soot can construct a call graph by using on-the-fly
>>     >>points-to analysis, and I got a class named 'OnFlyCallGraphBuilder'.
>>     >>But I'm confused that how to use this class to get a call graph.
>>     >>
>>     >>
>>     >>Should I use code 'Scene.v().getCallGraph();' to get the call graph
>>     >>after construct a 'OnFlyCallGraphBuilder' object? Or get the call graph
>>     >>by other ways? Any help is greatly appreciated.
>>     >>
>>     >>
>>     >>Peng Yang,
>>     >>Southeast University, China
>>     >>
>>     >>------------------------------------------------------------------------
>>     >>
>>     >>_______________________________________________
>>     >>Soot-list mailing list
>>     >>Soot-list at sable.mcgill.ca
>>     >>http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>>     >
>>
>>
>>
>>
>>     _______________________________________________
>>     Soot-list mailing list
>>     Soot-list at sable.mcgill.ca
>>     http://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,
Rohan Padhye

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20130502/4ed3de7f/attachment.html 


More information about the Soot-list mailing list