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

杨鹏 yangpeng3314 at 163.com
Thu May 2 10:44:12 EDT 2013


Oh..I see. Thank you very much. I will read your paper and codes for reference.


Peng Yang,
Southeast University, China



At 2013-05-02 20:52:00,"Rohan Padhye" <rohanpadhye at cse.iitb.ac.in> wrote:
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.cahttp://mailman.cs.mcgill.ca/mailman/listinfo/soot-list


-- 
Regards,
Rohan Padhye





_______________________________________________
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/2538a357/attachment-0001.html 


More information about the Soot-list mailing list