Workshop on Generative Technologies 2010 Generating correct and efficient equality and hashing methods using JEqualityGen

Saved in:
Bibliographic Details
Title: Workshop on Generative Technologies 2010 Generating correct and efficient equality and hashing methods using JEqualityGen
Authors: Neville Grech, Julian Rathke, Bernd Fischer
Contributors: The Pennsylvania State University CiteSeerX Archives
Source: http://eprints.soton.ac.uk/268754/1/wgt.pdf.
Collection: CiteSeerX
Subject Terms: meta-programming, equality, equals, hashCode, code generation, Java, AOP
Description: Determining equality of objects in Java requires the implementation of equals and hashCode methods. Such an implementation has to follow a specific object contract, making it a very tedious and error-prone process. Many equality and hashing methods implemented in Java applications violate this contract and are faulty, due to complexity arising from field shadowing, comparisons between different types, object cycles, etc. Equality and hashing implementations are conceptually simple, and can be derived automatically from information obtained statically from the program. However, existing systems that generate equality imple-mentations use reflection and are consequently inefficient. Here we describe JEqualityGen, a source code generator that seamlessly integrates with the build process of typical Java projects: the programmer only needs to indicate for which classes implementations should be generated. JEqualityGen produces correct and efficient code which on a typical large-scale Java application exhibits a typical performance improve-ment of 162 × in the equality operations generated by existing reflective systems. This was made possible through the use of optimised code generation and runtime profiling of these methods.
Document Type: text
File Description: application/pdf
Language: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.601.9686; http://eprints.soton.ac.uk/268754/1/wgt.pdf
Availability: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.601.9686
http://eprints.soton.ac.uk/268754/1/wgt.pdf
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number: edsbas.FA482EC1
Database: BASE
Be the first to leave a comment!
You must be logged in first