Previous paper

Next paper

Hygienic methods - Introducing HygJava

Jaroslaw D. M. Kusmierek, Institute of Informatics, Warsaw University
Viviana Bono, Dept. of Computer Science, Torino University


PDF Icon
PDF Version


One of the base concepts of object-oriented programming is that of "method". In languages supporting inheritance, this concept is realized by three different actions: (i) the introduction of a new method; (ii) the implementation/override of an existing method; (iii) the method call.
The bindings between (ii) and (i), and between (iii) and (i) are typically based on method names, which are not guaranteed to be unique, thus such bindings might cause some ambiguities. As a result, modifications of existing code may cause errors in some other parts of the code, especially in programs written by third party developers; overall, a programmer cannot predict the moment in the execution when such ambiguities will arise.
In this paper, we describe the nature of these problems and propose a general mechanism to overcome ambiguities in a safe, straightforward, and flexible way. To study the details of this mechanism, and make the reader more familiar with it, we show how to apply this mechanism to Java, and also to a mixin-oriented language called MixedJava.

Note: Due to the typographical sophistication of this article, no HTML version is available. Please use the PDF version.

About the authors

  Jaroslaw Dominik Mateusz Kusmierek is a PhD student in Computer Science at the University of Warsaw, Poland. His main research interests are the base concepts and the design of object oriented languages, and the component oriented approach to software development. He can be reached at

  Viviana Bono is an Associate Professor in Computer Science at the University of Torino, Italy. Her main research interests are theoretical foundations, semantics, and design of object-oriented and functional languages. She can be reached at and at


Cite this document as follows: Jaros law D. M. Kusmierek and Viviana Bono: "Hygienic methods - Introducing HygJava", in Journal of Object Technology, vol. 6, no. 9, Special Issue: TOOLS EUROPE 2007, October 2007, pages 209-229,

Previous paper

Next paper