TL;DR
This large-scale empirical study of Maven Central reveals a broad spectrum of API usages, showing most API types are used at least once, but a small core of features is used by the majority of clients, informing API design and maintenance.
Contribution
The paper provides the first large-scale empirical analysis of client-API relationships in Maven Central, highlighting usage patterns and practical implications for API development.
Findings
Most API types are used at least once by clients.
A small set of API features is used by the majority of clients.
API maintainers can focus on essential API parts for better management.
Abstract
Hyrum's law states a common observation in the software industry: "With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody". Meanwhile, recent research results seem to contradict this observation when they state that "for most APIs, there is a small number of features that are actually used". We investigate this seeming paradox between the observations in industry and the research literature, with a large scale empirical study of client API relationships in one single ecosystem: Maven Central. We study the 94 most popular libraries in Maven Central, as well as the 829,410 client artifacts that declare a dependency to these libraries and that are available in Maven Central, summing up to 2.2M dependencies. Our analysis indicates the existence of a wide spectrum of API…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
