International audienceIn this paper, we study how object-oriented classes are used across thousands of software packages. We concentrate on "usage diversity'", defined as the different statically observable combinations of methods called on the same object. We present empirical evidence that there is a significant usage diversity for many classes. For instance, we observe in our dataset that Java's String is used in 2460 manners. We discuss the reasons of this observed diversity and the consequences on software engineering knowledge and research
An Application Programming Interface (API) provides a specific set of functionalities to a developer...
When several incompatible implementations of a single API are in use in a Java program, the danger e...
An active area of research in computer science is the prevention of violations of object protocols, ...
International audienceIn this paper, we study how object-oriented classes are used across thousands ...
In this paper, we study how object-oriented classes are used across thousands of software packages. ...
Subtype polymorphism is a cornerstone of object-oriented programming. By hiding variability in behav...
Abstract—Subtype polymorphism is a cornerstone of object-oriented programming. By hiding variability...
Support for generic programming was added to the Java language in 2004, representing perhaps the mos...
11 pagesIn this work, we characterize a new form of software diver- sity: the existence of a set of ...
Abstract Support for generic programming was added to the Java language in 2004, representing perhap...
API libraries are becoming increasingly popular in mod-ern software industries because these librari...
In this paper we seek to provide a foundation for the study of the level of use of objectoriented t...
An Application Programming Interface (API) provides a specific set of functionalities to a developer...
When several incompatible implementations of a single API are in use in a Java program, the danger e...
An active area of research in computer science is the prevention of violations of object protocols, ...
International audienceIn this paper, we study how object-oriented classes are used across thousands ...
In this paper, we study how object-oriented classes are used across thousands of software packages. ...
Subtype polymorphism is a cornerstone of object-oriented programming. By hiding variability in behav...
Abstract—Subtype polymorphism is a cornerstone of object-oriented programming. By hiding variability...
Support for generic programming was added to the Java language in 2004, representing perhaps the mos...
11 pagesIn this work, we characterize a new form of software diver- sity: the existence of a set of ...
Abstract Support for generic programming was added to the Java language in 2004, representing perhap...
API libraries are becoming increasingly popular in mod-ern software industries because these librari...
In this paper we seek to provide a foundation for the study of the level of use of objectoriented t...
An Application Programming Interface (API) provides a specific set of functionalities to a developer...
When several incompatible implementations of a single API are in use in a Java program, the danger e...
An active area of research in computer science is the prevention of violations of object protocols, ...