[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