[Soot-list] pointer-analysis questions

Dan Grossman djg at cs.washington.edu
Tue Jun 6 19:14:06 EDT 2006


I have just installed Soot and spent the day reading tutorials, browsing 
the source, glancing at mailing-list archives, etc.  So my apologies if 
I am repeating common questions or have missed relevant documentation -- 
specific pointers greatly appreciated.

1. Spark "vs." Paddle?  Do I have this right:
   * The technical differences are clear from the paper-trail: Paddle is 
a highly-configurable context-sensitive framework built on top of BDDs, 
whereas Spark supports 1-CFA or some object-sensitivity.
   * Paddle is much less stable, so it's recommended only for those who 
want to be on the bleeding-edge of pointer analysis.  It's not (yet?) 
linked from the Soot web pages.

2. Here's a simplification of what I would like to do: Suppose there's a 
special static method "foo" and I want a pointer-analysis that is 
context-sensitive in the sense that it computes separate results for 
when (one or more) "foo" calls are "on the stack" (foo has been called 
but not yet returned) versus when no such calls are.  This is scalable 
(it at most doubles the number of contexts), even though it supports 
arbitrary stack depth "between foo and a program point".

So: Is modifying Spark's notion of "context" to support this 
context-sensitivity (in addition to its other sensitivites) a reasonable 
pursuit?  I think so, but thought it worth checking with the community. 
  Would I be better off pursuing this work with Paddle instead?

Thanks in advance,
Dan



More information about the Soot-list mailing list