[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: run() and InvokeGraph
run() and start() are not the same method. start() is a native method,
which happens to have a side-effect that it invokes run(). So,
it may be appropriate to list run() as a target of start(). However,
Soot cannot analyze native methods, so it has no way to tell that start()
invokes run(). Hard-coding the behaviour of the start() native method
opens up a huge can of worms: it suggests that we should also hard-code the
behaviour of the hundreds of other native methods in the JDK, and
attempt to keep up as they change in different versions.
Ondrej
On Sat, Jan 25, 2003 at 03:24:19PM -0000, Eric Bodden wrote:
> Hi!
>
> Today I realized that method invocations and so on in the run() mtheod
> of a class extending Thread (or implementing Runnable) are not resolved
> if the InvokeGraph is queried for callees of "start()". But since both
> refer actually to the same method, I think the invokegraph should handle
> queries for run() and start() in the same way. Or are there any
> drawbacks of such a behaviour? I cannot imagine any...
>
> Eric
>
> --------------------------------
> Eric Bodden
> University of Kent at Canterbury
>