Abstract. A number of formal proposals to manage aliasing in Java-like programming languages have been advanced over the last five years. Unfortunately, it is not clear how practical these proposals are, that is, how well they relate to the kinds of programs currently written in those languages. We have analysed heap dumps from a corpus of Java programs to identify their implicit aliasing structures, including object ownership, confinement, and uniqueness. Understanding the kinds of aliasing present in programs should help us to design formalisms to make explicit the kinds of aliasing implicit in object-oriented programs.