[Soot-list] getStartToJoin method in StartJoinFinder

Richard L. Halpert richhal22 at gmail.com
Sat Jul 10 17:19:38 EDT 2010


This is a bug in the EqualUsesAnalysis that is used by the StartJoinFinder.
StartJoinFinder is supposed to find "must join" relationships.  If you wish
to find "may join" relationships, just use a points-to analysis to see if
the instance variables of the start and join calls may alias.  The part of
StartJoinFinder that locates start and join statements is working fine, so
you can continue to use it despite the fact that the start->join (must join)
map is incorrect.

I'm working on a fix.

-Richard

On Sat, Jul 10, 2010 at 7:26 AM, Arnab De <arnabde03 at gmail.com> wrote:

> Hi,
> The getStartToJoin method in StartJoinFinder class returns a map from
> Stmt to Stmt. In general, a start statement can have multiple
> corresponding join statements and vice-versa. For example, in the
> following code, both the start statements should map to same join
> statement:
>
> p.start();
> c.start();
> Thread t;
> if(cond)
>        t = p;
> else
>        t = c;
> try {
>        t.join();
> } catch (InterruptedException e) {
>        e.printStackTrace();
> }
>
> Unfortunately, the analysis maps only p.start() to t.join(). Is this a
> bug or does the analysis assume something about the code?
>
> More specifically, I am interested in finding the set of the run
> methods that may join at a join statement. Is there any way to get
> this result?
>
> Thanks and regards,
> Arnab
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20100710/337f8b37/attachment.html 


More information about the Soot-list mailing list