Standard

On the reaction to deprecation of clients of 4 + 1 popular Java APIs and the JDK. / Sawant, Anand Ashok; Robbes, Romain; Bacchelli, Alberto.

In: Empirical Software Engineering, 13.10.2017, p. 1-40.

Research output: Scientific - peer-reviewArticle

Harvard

APA

Vancouver

Sawant AA, Robbes R, Bacchelli A. On the reaction to deprecation of clients of 4 + 1 popular Java APIs and the JDK. Empirical Software Engineering. 2017 Oct 13;1-40. Available from, DOI: 10.1007/s10664-017-9554-9

Author

Sawant, Anand Ashok; Robbes, Romain; Bacchelli, Alberto / On the reaction to deprecation of clients of 4 + 1 popular Java APIs and the JDK.

In: Empirical Software Engineering, 13.10.2017, p. 1-40.

Research output: Scientific - peer-reviewArticle

BibTeX

@article{82b93d18ab3e4c0db4e7a530f315d340,
title = "On the reaction to deprecation of clients of 4 + 1 popular Java APIs and the JDK",
keywords = "API popularity, API usage, Application programming interface, Dataset",
author = "Sawant, {Anand Ashok} and Romain Robbes and Alberto Bacchelli",
year = "2017",
month = "10",
doi = "10.1007/s10664-017-9554-9",
pages = "1--40",
journal = "Empirical Software Engineering",
issn = "1382-3256",
publisher = "Springer Netherlands",

}

RIS

TY - JOUR

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

AU - Sawant,Anand Ashok

AU - Robbes,Romain

AU - Bacchelli,Alberto

PY - 2017/10/13

Y1 - 2017/10/13

N2 - 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.

AB - 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.

KW - API popularity

KW - API usage

KW - Application programming interface

KW - Dataset

UR - http://www.scopus.com/inward/record.url?scp=85031416657&partnerID=8YFLogxK

UR - http://resolver.tudelft.nl/uuid:82b93d18-ab3e-4c0d-b4e7-a530f315d340

U2 - 10.1007/s10664-017-9554-9

DO - 10.1007/s10664-017-9554-9

M3 - Article

SP - 1

EP - 40

JO - Empirical Software Engineering

T2 - Empirical Software Engineering

JF - Empirical Software Engineering

SN - 1382-3256

ER -

ID: 30248412