[Soot-list] Paddle - BDD variable orderings

Ondrej Lhotak olhotak at uwaterloo.ca
Fri Nov 11 21:17:03 EST 2011


On Thu, Nov 10, 2011 at 11:21:19PM -0600, Edgar Pek wrote:
> Hello, 
> 
> Do you have experience with BDD variable orderings when doing
> field-sensitive context-insensitive points-to analysis with CHA
> precomputed call-graph in Paddle?

This is quite an unusual configuration. CHA will generate a very
imprecise call graph, which will slow down the rest of the analysis. I
don't have very much experience with this configuration.

Are you also running Spark in such an unusual configuration?

Are you analyzing the benchmark with a very large standard library?
This could increase the effect of the imprecise initial call graph
due to CHA, since CHA will include many unreachable parts of the
library.

How are you telling Soot which classes to include in the CHA analysis?

Are the results that you get (e.g. call graph size, number of classes
analyzed) comparable between Spark and Paddle?

Which Paddle backend are you using? BDD or non-BDD? If BDD, which BDD
implementation? It may be that due to the 2GB of memory, you are running
out of memory and starting to thrash. This is especially likely if you
are using one of the native BDD backends (BuDDy or CUDD) since they
need memory for the BDD node table in addition to the memory that the
JVM needs for its heap.

> For example, analyzing eclipse benchmark with default ordering takes 20
> minutes ([Paddle] Propagation in 1214.3 seconds.). While Spark, with
> what I think is the same configuration, takes 7 seconds ([Spark]
> Propagation in 7.2 seconds.) 
> Is this expected or am I using the wrong ordering for Paddle?
> 
> Btw. I'm using paddle-nightly-build and experimenting on a low-end
> laptop (Intel Core 2, T5500, 1.66GHz with 2GB).
> 
> Thanks,
> Edgar
> 
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
> 


More information about the Soot-list mailing list