Java generics adoption
|Title||Java generics adoption|
|Publication Type||Conference Paper|
|Year of Publication||2011|
|Authors||Bird, Christian, Murphy-Hill Emerson, and Parnin Chris|
|Tertiary Authors||van Deursen, Arie, Xie Tao, and Zimmermann Thomas|
|Secondary Title||Proceedings of the 8th working conference on Mining software repositories - MSR '11|
|Place Published||New York, New York, USA|
|Keywords||commits, generics, java, source code, version history|
Support for generic programming was added to the Java language in 2004, representing perhaps the most significant change to one of the most widely used programming languages today. Researchers and language designers anticipated this addition would relieve many long-standing problems plaguing developers, but surprisingly, no one has yet measured whether generics actually provide such relief. In this paper, we report on the first empirical investigation into how Java generics have been integrated into open source software by automatically mining the history of 20 popular open source Java programs, traversing more than 500 million lines of code in the process. We evaluate five hypotheses, each based on assertions made by prior researchers, about how Java developers use generics. For example, our results suggest that generics do not significantly reduce the number of type casts and that generics are usually adopted by a single champion in a project, rather than all committers.
"we automatically analyzed 20 open source software projects. We analyzed the top “most used” projects according to ohloh.net, including only projects with significant amounts of Java code"
"The 20 selected projects were Ant, Azureus, CheckStyle, Commons Collections, Free- Mind, FindBugs, Jetty, JEdit, JDT, JUnit, Eclipse-cs, Hibernate, Log4j, Lucene, Maven, the Spring Frame- work, Squirrel-SQL, Subclipse, Weka, and Xerces."
"In mining the full version histories of these 20 projects, we analyzed the full content of each version of each Java source file, a total of 548,982,841 lines."