On the reaction to deprecation of clients of 4 + 1 popular Java APIs and the JDK

Anand Ashok Sawant*, Romain Robbes, Alberto Bacchelli

*Corresponding author for this work

Research output: Contribution to journalArticleScientificpeer-review

19 Citations (Scopus)
87 Downloads (Pure)


Application Programming Interfaces (APIs) are a tremendous resource—that is, when they are stable. Several studies have shown that this is unfortunately not the case. Of those, a large-scale study of API changes in the Pharo Smalltalk ecosystem documented several findings about API deprecations and their impact on API clients. We extend this study, by analyzing clients of both popular third-party Java APIs and the JDK API. This results in a dataset consisting of more than 25,000 clients of five popular Java APIs on GitHub, and 60 clients of the JDK API from Maven Central. This work addresses several shortcomings of the previous study, namely: a study of several distinct API clients in a popular, statically-typed language, with more accurate version information. We compare and contrast our findings with the previous study and highlight new ones, particularly on the API client update practices and the startling similarities between reaction behavior in Smalltalk and Java. We make a comparison between reaction behavior for third-party APIs and JDK APIs, given that language APIs are a peculiar case in terms of wide-spread usage, documentation, and support from IDEs. Furthermore, we investigate the connection between reaction patterns of a client and the deprecation policy adopted by the API used.

Original languageEnglish
Pages (from-to)2158–2197
Number of pages40
JournalEmpirical Software Engineering
Volume23 (2018)
Publication statusPublished - 2017


  • API popularity
  • API usage
  • Application programming interface
  • Dataset


Dive into the research topics of 'On the reaction to deprecation of clients of 4 + 1 popular Java APIs and the JDK'. Together they form a unique fingerprint.

Cite this