A Discipline for Software Engineering
A Discipline for Software Engineering
Two case studies of open source software development: Apache and Mozilla
ACM Transactions on Software Engineering and Methodology (TOSEM)
C++ Templates
Software Quality Analysis by Code Clones in Industrial Legacy Software
METRICS '02 Proceedings of the 8th International Symposium on Software Metrics
Converting java programs to use generic libraries
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Socialization in an Open Source Software Community: A Socio-Technical Analysis
Computer Supported Cooperative Work
Fine-grained processing of CVS archives with APFEL
eclipse '06 Proceedings of the 2006 OOPSLA workshop on eclipse technology eXchange
Java Generics and Collections
Evaluation and Usability of Programming Languages and Tools
Efficiently refactoring java applications to use generic libraries
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Relation of code clones and change couplings
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
Socio-PLT: principles for programming language adoption
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
How do developers use parallel libraries?
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
How not to survey developers and repositories: experiences analyzing language adoption
Proceedings of the ACM 4th annual workshop on Evaluation and usability of programming languages and tools
Programming language evolution via source code query languages
Proceedings of the ACM 4th annual workshop on Evaluation and usability of programming languages and tools
Empirical analysis of programming language adoption
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Do developers benefit from generic types?: an empirical comparison of generic and raw types in java
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Social influences on secure development tool adoption: why security tools spread
Proceedings of the 17th ACM conference on Computer supported cooperative work & social computing
Adoption and use of Java generics
Empirical Software Engineering
How (and why) developers use the dynamic features of programming languages: the case of smalltalk
Empirical Software Engineering
Hi-index | 0.00 |
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.