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

杨鹏 yangpeng3314 at 163.com
Thu May 2 08:24:08 EDT 2013


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.cahttp://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/2cfb8741/attachment-0001.html 


More information about the Soot-list mailing list