[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