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

Institutions

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
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

A Mining-Software-Repository study on deprecated API usages in open-source Java software applications

Simone Romano, Pietro Cassieri, Giuseppe Scanniello
Information and Software Technology
Software Engineering Research
article

A Mining-Software-Repository study on deprecated API usages in open-source Java software applications

Simone Romano, Pietro Cassieri, Giuseppe Scanniello
article en

Abstract

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.

Information and Software TechnologyVol. 186
University of Salerno (IT)
Openalex Percentile: Top 82%
Software Engineering Research
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.