[Soot-list] Experiences with memory consumption of FlowDroid

Bernhard Berger berber at tzi.de
Tue Jun 10 05:12:48 EDT 2014


Hi Steven,

I tried —applength 1, so far. Using —nopaths reduces the runtime from 400 minutes to 20 seconds. Thank you for the hint. Nevertheless, I found a situation where it leads to a different result. For a simple App I wrote it finds a possible path. If I pass the —nopaths option there is no finding at all. According to the documentation the option should not influence the number of found paths.

The log output is identical for the generated mains and differs when looking for taint wrappers:

Normal:
> [main] INFO soot.jimple.infoflow.Infoflow - Callgraph has 588 edges
> [main] INFO soot.jimple.infoflow.Infoflow - Looking for sources and sinks...
> [main] INFO soot.jimple.infoflow.Infoflow - Source lookup done, found 28 sources and 9 sinks.
> [main] INFO soot.jimple.infoflow.Infoflow - Taint wrapper hits: 651
> [main] INFO soot.jimple.infoflow.Infoflow - Taint wrapper misses: 1122
> [main] INFO soot.jimple.infoflow.Infoflow - IFDS problem with 4925 forward and 308 backward edges solved, processing 1 results...
> [main] INFO soot.jimple.infoflow.data.pathBuilders.SemiThreadedPathBuilder - Obtainted 1 connections between sources and sinks
> [main] INFO soot.jimple.infoflow.data.pathBuilders.SemiThreadedPathBuilder - Building path 1
> [main] INFO soot.jimple.infoflow.data.pathBuilders.SemiThreadedPathBuilder - Path processing took 0.003376547 seconds in total for 36 edges
> [main] INFO soot.jimple.infoflow.data.pathBuilders.SemiThreadedPathBuilder - Running path extension on 1 roots
> [main] INFO soot.jimple.infoflow.data.pathBuilders.SemiThreadedPathBuilder - Path extension took 0.01424642 seconds.
> [main] INFO soot.jimple.infoflow.data.pathBuilders.SemiThreadedPathBuilder - Path proecssing took 0.016318087 seconds in total
> 


—nopaths
> [main] INFO soot.jimple.infoflow.Infoflow - Callgraph has 588 edges
> [main] INFO soot.jimple.infoflow.Infoflow - Looking for sources and sinks...
> [main] INFO soot.jimple.infoflow.Infoflow - Source lookup done, found 28 sources and 9 sinks.
> [main] INFO soot.jimple.infoflow.Infoflow - Taint wrapper hits: 202
> [main] INFO soot.jimple.infoflow.Infoflow - Taint wrapper misses: 424
> [main] INFO soot.jimple.infoflow.Infoflow - IFDS problem with 2418 forward and 257 backward edges solved, processing 0 results...
> [main] WARN soot.jimple.infoflow.Infoflow - No results found.
> Analysis has run for 9.741048652 seconds

Any ideas?


Best regards, Bernhard




Am 10.06.2014 um 10:25 schrieb Steven Arzt <steven.arzt at cased.de>:

> Hi Bernhard,
> 
> I was able to analyze Facebook, which is to the best of my knowledge the largest application available in the play store today, with 75 GB of memory. In general, the larger and the more complex the app is, the more memory you need. We know that this is a problem at the moment and we're looking into how to reduce the memory footprint - but this is a research direction of its own that might include changing the underlying machinery from IFDS to something else - so don't expect any major breakthroughs in a day.
> 
> Can you give me the exact command-line you have used since I have updated the wiki a few days ago and have added the --nopaths option? I also need the FlowDroid outputs (stdout and stderr) to analyze the problem.
> 
> Best regards,
>  Steven
> 
> Am 10.06.2014 07:51, schrieb Bernhard Berger:
>> Hi guys,
>> I’m trying to analyze some Apps with FlowDroid (latest nightly builds)
>> and have some serious memory problems. :-( I picked some random Apps
>> from Google Play and tried to analyze them. Sadly, my process gets
>> killed by the OOM-Killer. I tried to reduce the memory consumption by
>> using all options mentioned in [1].  Nevertheless, the process hits
>> the -Xmx limit of 60g after some time.
>> What is your experience? How much RAM do I need to analyze Android
>> Apps using FlowDroid?
>> Regards, Bernhard
>> [1] https://github.com/secure-software-engineering/soot-infoflow-android/wiki
>> _______________________________________________
>> Soot-list mailing list
>> Soot-list at CS.McGill.CA
>> https://mailman.CS.McGill.CA/mailman/listinfo/soot-list
> <pubkey.asc>_______________________________________________
> Soot-list mailing list
> Soot-list at CS.McGill.CA
> https://mailman.CS.McGill.CA/mailman/listinfo/soot-list



More information about the Soot-list mailing list