ACM Home Page
Please provide us with feedback. Feedback
An empirical study of the design and implementation of object equality in Java
Full text PdfPdf (228 KB)
Source IBM Centre for Advanced Studies Conference archive
Proceedings of the 2008 conference of the center for advanced studies on collaborative research: meeting of minds table of contents
Ontario, Canada
SESSION: Software engineering I table of contents
Article No. 9  
Year of Publication: 2008
Authors
Chandan R. Rupakheti  Clarkson University, Potsdam, NY
Daqing Hou  Clarkson University, Potsdam, NY
Sponsors
: IBM Toronto Software Lab
: IBM Centers for Advanced Studies (CAS)
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 52,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1463788.1463800
What is a DOI?

ABSTRACT

Applications built on top of an existing design and implementation are in general expected to collaborate well with that design and respect all of its intent. Failure in achieving this may result in buggy, fragile, and less maintainable code in the applications. When the dependence on an existing design becomes more wide-spread, this requirement on proper extension obviously becomes even more critical. As an instance of this general problem, the design for object equality in Java as well as its extensions is examined in detail and empirically. By examining how object equality is extended in a large amount of Java code, a set of typical problems are detected and their root causes analyzed. A set of design guidelines for object equality is proposed, which, if followed, will help programers systematically design and evolve rather than hack on a solution. Examples are drawn from a case study of multiple industrial and open source projects to illustrate the identified problems and how the proposed guidelines can help solve these problems.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
3
4
 
5
 
6
 
7
T. Cohen, "How Do I Correctly Implement the equals() Method?" Dr. Dobb's Journal, May 2002.
 
8
R. Smit. Introducing equivalent types in equals() implementation. Last verified: April 10, 2008. {Online}. Available: http://www.forum2.org/tal/equals.html
9
 
10
M. Vaziri, F. Tip, S. Fink, and J. Dolby, "Declarative Object Identity Using Relation Types," in 21st European Conference on Object-Oriented Programming, Berlin, Germany, Aug. 2007, pp. 54--78.
 
11

Collaborative Colleagues:
Chandan R. Rupakheti: colleagues
Daqing Hou: colleagues