Previous article

next article

Checking Access to Protected Members in the Java Virtual Machine

Alessandro Coglio, Kestrel Institute, Palo Alto, California, USA


PDF Version


This paper studies in detail how to correctly and efficiently check access to protected members in the Java Virtual Machine. This aspect of type safety is not explained in the official specification and, to the author’s knowledge, has been completely neglected in the research literature. Nonetheless, it is a subtle aspect that is not straightforward to implement correctly, as also evidenced by the presence of a bug in earlier versions of Sun’s Java 2 SDK. This paper presents example programs that expose the bug, along with a conjectural explanation for it. This paper also presents some corpus measurements of the number of checks that can be performed using various techniques.

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


About the author


Alessandro Coglio has been a Computer Scientist at Kestrel Institute since 1998, working on formal methods and their application to Java. He has also been a Computer Scientist at Kestrel Technology LLC since 2001, working on technology transfer.

Prior to joining Kestrel, Mr. Coglio was a Consulting Researcher for the Department of Informatics, Systems, and Telecommunications of University of Genoa (Italy), working on theorem proving, Petri nets, discrete event systems, and artificial emotions.

Mr. Coglio received a Master degree in Computer Science Engineering from University of Genoa in 1996. His thesis, in the field of theorem proving, was in collaboration with Stanford University (Palo Alto, California), where he spent two months in 1996.

During his middle- and high-school years, one of Mr. Coglio's pastimes was programming videogames in Assembly.

Cite this article as follows: Alessandro Coglio: “Checking Access to Protected Members in the Java Virtual Machine", in Journal of Object Technology, vol. 4, no. 8, Special Issue: ECOOP 2004 Workshop FTfJP, October 2005, pp. 55-76,

Previous article

next article