The Java Standard API has grown enormously since Java's beginnings, now consisting of over 3,000 classes and 20,000 methods. The intent of this API is to provide high quality components that can be easily reused and so increase the Java developer's productivity - but does it? In this paper, we present a study that begins to answer this question. Specifically we take a corpus-based approach to help determine the "typical" usage of the Standard API. We find that, in an extensive corpus of open-source software, only about 50% of the classes in the Standard API are used at all, and around 21% of the methods are used. We discuss the implications this has for future development of both the API itself, and for tools to support the API.
['Homan Ma', 'Robert Amor', 'Ewan D. Tempero']
Usage Patterns of the Java Standard API