Empirical Evidence of Large-Scale Diversity in API Usage of Object-Oriented Software
Diego Mendez (INRIA Lille - Nord Europe), Benoit Baudry (INRIA -, IRISA), Martin Monperrus (INRIA Lille - Nord Europe)

TL;DR
This paper provides empirical evidence that object-oriented classes exhibit significant usage diversity across thousands of software packages, impacting software engineering practices and research.
Contribution
It introduces the concept of usage diversity and quantifies it for various classes, highlighting its implications for software engineering.
Findings
Java's String class has 2460 different usage patterns.
Many classes show high usage diversity, indicating complex usage scenarios.
Diversity affects software design, testing, and documentation.
Abstract
In 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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
