Skip to main content

Repairing and Optimizing Hadoop hashCode Implementations

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNPSE,volume 8636)

Abstract

We describe how contract violations in JavaTM hashCode methods can be repaired using novel combination of semantics-preserving and generative methods, the latter being achieved via Automatic Improvement Programming. The method described is universally applicable. When applied to the Hadoop platform, it was established that it produces hashCode functions that are at least as good as the original, broken method as well as those produced by a widely-used alternative method from the ‘Apache Commons’ library.

Keywords

  • Hash Function
  • Hadoop Distribute File System
  • Hash Code
  • Original Implementation
  • Hadoop MapReduce

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

An Erratum for this chapter can be found at http://dx.doi.org/10.1007/978-3-319-09940-8_23

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-319-09940-8_22
  • Chapter length: 6 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   54.99
Price excludes VAT (USA)
  • ISBN: 978-3-319-09940-8
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   69.99
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Arcuri, A., Briand, L.: A practical guide for using statistical tests to assess randomized algorithms in software engineering. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE 2011, pp. 1–10 (2011)

    Google Scholar 

  2. Bahi, J.M., Guyeux, C.: Hash Functions Using Chaotic Iterations. Journal of Algorithms & Computational Technology 4(2), 167–182 (2010)

    CrossRef  MATH  MathSciNet  Google Scholar 

  3. Grech, N., Rathke, J., Fischer, B.: JEqualityGen: Generating equality and hashing methods. In: The Ninth International Conference on Generative Programming and Component Engineering, pp. 177–186 (2011)

    Google Scholar 

  4. Hoosand, H.H., Stützle, T.: Stochastic Local Search: Foundations & Applications. Elsevier / Morgan Kaufmann (2004)

    Google Scholar 

  5. Kong, W., Li, W.J.: Isotropic Hashing. Technical report (2012)

    Google Scholar 

  6. Koza, J.R.: Genetic Programming II: Automatic Discovery of Reusable Programs. MIT Press, Cambridge (1994)

    MATH  Google Scholar 

  7. Langdon, W.B., Harman, M.: Optimising Existing Software with Genetic Programming. IEEE Transactions on Evolutionary Computation PP(99), 1–18 (2014)

    Google Scholar 

  8. Meyer, B.: Applying ‘design by contract’. Computer 25(10), 40–51 (1992)

    CrossRef  Google Scholar 

  9. Oracle. Java Platform Standard Ed. 7 (2013)

    Google Scholar 

  10. Rayside, D., Benjamin, Z., Singh, R., Near, J.P., Milicevic, A., Jackson, D.: Equality and hashing for (almost) free. In: ICSE 2009 Proceedings of the 31st International Conference on Software Engineering, pp. 342–352 (2009)

    Google Scholar 

  11. Swan, J., Epitropakis, M.G., Woodward, J.R.: Gen-O-Fix: An embeddable framework for Dynamic Adaptive Genetic Improvement Programming. Technical Report January, Department of Computing Science and Mathematics, University of Stirling, Stirling, UK (2014)

    Google Scholar 

  12. Vaziri, M., Tip, F., Fink, S.J., Dolby, J.: Declarative object identity using relation types. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 54–78. Springer, Heidelberg (2007)

    CrossRef  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Kocsis, Z.A. et al. (2014). Repairing and Optimizing Hadoop hashCode Implementations. In: Le Goues, C., Yoo, S. (eds) Search-Based Software Engineering. SSBSE 2014. Lecture Notes in Computer Science, vol 8636. Springer, Cham. https://doi.org/10.1007/978-3-319-09940-8_22

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-09940-8_22

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-09939-2

  • Online ISBN: 978-3-319-09940-8

  • eBook Packages: Computer ScienceComputer Science (R0)