A Mining-Software-Repository study on deprecated API usages in open-source Java software applications
A deprecated API ( Application Programming Interface ) is an API that its original developers no longer recommend using. Although deprecated APIs ( i.e., deprecated fields, methods, and classes) are still implemented, they are likely to be removed in future implementations. Consequently, developers are advised against using deprecated APIs in newly written code and are encouraged to update existing code to remove any deprecated API usage. We aimed to gather preliminary empirical evidence on deprecated API usages in open-source Java applications. To pursue such a goal, we conducted an exploratory Mining-Software-Repository ( MSR ) study in which we quantitatively analyzed the commit histories of 14 applications whose software projects were top-starred on GitHub. The most important takeaway results of our study can be summarized as follows: (i) deprecated API usages are pretty widespread in the studied software applications; (ii) only in half of these applications, developers remove deprecated API usages as soon as possible; (iii) consuming their own deprecated APIs is a prevalent phenomenon in half of the studied applications; (iv) the introductions and removals of deprecated API usages are mostly due to changes performed by senior contributors; (v) developers mostly introduce and remove deprecated API usages when they are far from publishing a release version; and (vi) the introductions and removals of deprecated API usages are often undocumented in commit messages. The outcomes of our study suggest that developers should better handle deprecated API usages. • Study of deprecated API usages in top starred GitHub projects. • Exploratory Mining-Software-Repository study on deprecated API usages. • Deprecated API usages are pretty widespread in the software applications in top starred GitHub projects. • Only in half of the studied applications, developers remove deprecated API usages as soon as possible. • The introductions and removals of deprecated API usages are mostly due to changes performed by senior developers. • Developers mostly introduce and remove deprecated API usages when they are far from publishing a release version. • The introduction/removal of deprecated API usages is often undocumented.
Authors
- Simone Romano (ORCID: https://orcid.org/0000-0003-4880-3622)
- Pietro Cassieri (ORCID: https://orcid.org/0009-0005-7185-8973)
- Giuseppe Scanniello (ORCID: https://orcid.org/0000-0003-0024-7508)
Institutions
- University of Salerno (IT)
Publication Details
- Journal
- Information and Software Technology
- Published
- 2025-06-07
- DOI
- https://doi.org/10.1016/j.infsof.2025.107782
- Primary Topic
- Software Engineering Research
- Type
- article
- Field-Weighted Citation Impact
- 0.00