[Soot-list] Spark generating rta call-graph:java.lang.OutOfMemoryError: GC overhead limit exceeded

Eric Bodden eric.bodden at uni-paderborn.de
Wed Sep 19 08:46:54 EDT 2018


Hi Dario.

> I have two projectst: p and p1. In p i have 5 classes with some methods with empty body and just someone with operation on primitive type. P1 is the same of p, but in one methods there is an arraylist. If i use rta for p i have a perfect complete call-grah but for p1 i have the problem that i have described before.

Yes that is to be expected because the transitive closure of the callgraph for ArrayList is just huge. It comprises thousands of methods.

> Yesterday, i tried to use spark with “on-fly-cg:true” and “rta:false” but, with this options, for p i have a call-graph with missing edges (maybe becasue i use non-static methods as entry-points), for p1 a complete perfect call-graph. 

Yes you need to have a sensible set of entry points and it helps if they are static. That’s rather the way to go.

> Can the solution be Paddle? (But for now i not have succeeded to configure it ).

No that would not help, would rather complicate things. I’d recommend looking into Ondrej Lhotak Master thesis, especially about the on-the-fly mode, that should help you understand the effects, you are seeing.

Best wishes
Eric


More information about the Soot-list mailing list