[Soot-list] getStartToJoin method in StartJoinFinder

Richard L. Halpert richhal22 at gmail.com
Sat Jul 10 18:08:24 EDT 2010


Arnab,
I've deprecated EqualUsesAnalysis (buggy) and altered
StartJoinAnalysis/StartJoinFinder to use LocalMustAliasAnalysis instead.
For your example, it now correctly reports the NEITHER p NOR c must be
joined by the call to t.join().

Thanks for reporting this.  If you have any trouble using points-to to find
"may join" relationships, I'd be happy to help.

-Richard

On Sat, Jul 10, 2010 at 2:19 PM, Richard L. Halpert <richhal22 at gmail.com>wrote:

> 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/204c7886/attachment.html 


More information about the Soot-list mailing list