[Checkers] RFE: Equality checking: equals() is broken in the JDK

Michael Ernst mernst at csail.mit.edu
Mon Oct 20 07:05:06 EDT 2008


Mahmood-

These are interesting examples of places that equals() is broken in the
JDK.  A required part of the 6.170 lecture about equality is fulminating
against Java's implementation.  Unfortunately, because of concerns about
backward compatibility, these will probably never been fixed.

The Interning checker finds a specific class of problems in equality
checking.  It's interesting that using an unrelated type system happens to
reveal plenty of other problems with equals().

Thanks for pointing these out!

                    -Mike



More information about the checkers mailing list