[Soot-list] Missing edges in call graph generated by Spark
olhotak at uwaterloo.ca
Tue Feb 9 14:41:02 EST 2010
On Tue, Feb 09, 2010 at 09:01:44AM +0100, Eric Bodden wrote:
> Thanks for the info.
> > In this case, soot assumes newInstance0 method in java.lang.Class is native,
> > which
> > is the case for 1.3. However, in newer versions that method is not native.
> > As a result,
> > the model method, which takes care of reflection, is not invoked. I think,
> > this can be
> > fixed by adding a model for newInstance0 method of
> > sun.reflect.NativeConstructorAccessorImpl
> > class, which is a native method and creates objects through reflection.
> I thought that Ondrej Lhotak had fixed this a while ago. Ondrej, do
> you remember?
No, I don't remember.
The native method simulations that Feng wrote and that are included
as part of Soot simulate the Java 1.3 standard library. Sound
interprocedural analysis of another version of the standard library
would require someone to repeat Feng's work for that version, because
the native methods are different. Over time, several people proposed to
do that, and some even got started, but as far as I know, nobody has
completed such an implementation or contributed it to Soot.
More information about the Soot-list