[Soot-list] PointsToSet and equals/hashcode
Eric Bodden
eric.bodden at mail.mcgill.ca
Tue Aug 15 14:47:39 EDT 2006
Ok, since nobody answered so far, I investigated a little myself. Using AspectJ (thanks, Laurie, for the idea) I was able to determine that apparently "equals" is never called on any implementation of PointsToSet within Paddle or Soot.
Hence I conclude that it cannot hurt if I implement those methods, which I will go ahead with now.
Cheers,
Eric
> -----Original Message-----
> From: soot-list-bounces at sable.mcgill.ca [mailto:soot-list-
> bounces at sable.mcgill.ca] On Behalf Of Eric Bodden
> Sent: Sunday, August 13, 2006 8:20 PM
> To: soot-list at sable.mcgill.ca
> Subject: [Soot-list] PointsToSet and equals/hashcode
>
> Hi all.
>
> I am implementing some flow analysis that uses points-to sets as
> analysis information. As usual, the fixed point iteration stops when
> the analysis information does not change any more, i.e. when the new
> one is EQUAL to the old one. EQUAL here means equal based on whatever
> the equals(Object) method says.
>
> Unfortunately the available implementations for PointsToSet in Soot do
> not implements equals nor hashcode, which causes my iteration to go on
> forever. My question is now how to best overcome this issue.
>
> Is there any reason for why those methods are not implemented? (It
> seems that in fact there *can* be multiple instances of one and the
> same "equal" points-to set so reference-equality is actually not very
> satisfactory here in my eyes.)
>
> Should I just go ahead and implement those methods for
> PointsToSetInternal etc.? If so, are there any particular hidden issues
> I should take in account?
>
> Is there any other way you could think of how to fix my analysis
> without implementing those methods?
>
> Thanks a lot,
> Eric
>
> --
> Eric Bodden
> Sable Research Group, McGill University
> Montréal, Québec, Canada
>
> _______________________________________________
> Soot-list mailing list
> Soot-list at sable.mcgill.ca
> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
More information about the Soot-list
mailing list