[Soot-list] Problem in running flowdroid

Steven Arzt Steven.Arzt at cased.de
Fri Feb 13 05:26:23 EST 2015


Hi Lokesh,

 

If you are taking the sources and sinks from SuSi, you really have a lot of data sources. This means that for large applications, you will be tracking a lot of data flows. In that case, 32 GB of memory might not be sufficient. I guess that FlowDroid doesn’t “hang”. Instead, it runs out of memory and the JVM will perform a very aggressive garbage collection and try to free more memory – ending up in spending almost all time in GC cycles and not doing any actual work.

 

There are a number of possibilities you have:

 

1.       Lower the GC overhead limit, there is some JVM parameter (consult the JVM documentation). This will make the JVM abort instead of getting stuck in GC cycles. You will not get any results for that application then, but you will at least be able to continue with the next application.

2.       Use the “timeout” Unix command to abort instances of FlowDroid which are running longer than you are willing to accept. In fact, the FlowDroid command line application already has an option to use this timeout mechanism.

3.       Use the FlowDroid options from the Wiki to reduce analysis precision in favor of memory and performance.

4.       Use less sources to track less data.

5.       Buy more memory.

6.       Limit yourself to smaller applications if you need all sources, full precision, and little memory consumption all at the same time.

7.       Split the sources. Run FlowDroid with a subset of the sources, collect the results, then run again with a different set of sources. This will reduce the amount of memory you need all at once with the expense of needing more runs.

8.       Use a pre-analysis to filter out applications that are not of interest anyway (see our upcoming DroidSearch paper) so that you need not analyze those.

 

We are working on projects to improve the performance and memory consumption of FlowDroid at the moment, but this will still take a bit.

 

Best regards,

  Steven

 

Von: LOKESH JAIN [mailto:lokeshjain92 at gmail.com] 
Gesendet: Freitag, 13. Februar 2015 09:23
An: Steven Arzt; Soot list; soot-list at cs.mcgill.ca; soot-list at googlegroups.com
Betreff: Problem in running flowdroid

 

Hi,

I have written shell script to run flowdroid on 3000 application automatically. I am using 32GB RAM.

I am using SourceansSink.txt by combining the sources and sink text file defined in SUSI.

I am not able to run it, It's taking huge amount of time. 22 applications are processed in around 12 hrs and after that it's got hang.

I defind java heap size to be 25GB but it's taking more than that and reached till 31GB which increases the chances for system crash also.

There is no way i am able to figure out, how to run it smoothly.

Please help.

 

Thanks & Regards
Lokesh Jain

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20150213/c64f9a42/attachment-0002.html 


More information about the Soot-list mailing list