To react, or not to react: Patterns of reaction to API deprecation

被引:18
|
作者
Sawant, Anand Ashok [1 ]
Robbes, Romain [2 ]
Bacchelli, Alberto [3 ]
机构
[1] Delft Univ Technol, Software Engn Res Grp, Delft, Netherlands
[2] Free Univ Bozen Bolz, Software & Syst Engn Res Grp, Bozen Bolzano, Italy
[3] Univ Zurich, Dept Informat, Zurich, Switzerland
关键词
Deprecation; Application programming interface; API usage; !text type='Java']Java[!/text; SOCIAL DESIRABILITY; SUPPORT; BIAS;
D O I
10.1007/s10664-019-09713-w
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Application Programming Interfaces (API) provide reusable functionality to aid developers in the development process. The features provided by these APIs might change over time as the API evolves. To allow API consumers to peacefully transition from older obsolete features to new features, API producers make use of the deprecation mechanism that allows them to indicate to the consumer that a feature should no longer be used. The Java language designers noticed that no one was taking these deprecation warnings seriously and continued using outdated features. Due to this, they decided to change the implementation of this feature in Java 9. We question as to what extent this issue exists and whether the Java language designers have a case. We start by identifying the various ways in which an API consumer can react to deprecation. Following this we benchmark the frequency of the reaction patterns by creating a dataset consisting of data mined from 50 API consumers totalling 297,254 GitHub based projects and 1,322,612,567 type-checked method invocations. We see that predominantly consumers do not react to deprecation and we try to explain this behavior by surveying API consumers and by analyzing if the API's deprecation policy has an impact on the consumers' decision to react.
引用
收藏
页码:3824 / 3870
页数:47
相关论文
共 50 条
  • [1] To react, or not to react: Patterns of reaction to API deprecation
    Anand Ashok Sawant
    Romain Robbes
    Alberto Bacchelli
    Empirical Software Engineering, 2019, 24 : 3824 - 3870
  • [2] A sensemaking analysis of API learning using React
    Kelleher, Caitlin
    Brachman, Michelle
    JOURNAL OF COMPUTER LANGUAGES, 2023, 74
  • [3] Readers react to action ‡ reaction
    University of Connecticut, 371 Fairfield Road, Storrs, CT 06269-1157, United States
    IEEE Antennas Propag Mag, 2006, 1 (122-123):
  • [4] How Do Developers React to RESTful API Evolution?
    Wang, Shaohua
    Keivanloo, Iman
    Zou, Ying
    SERVICE-ORIENTED COMPUTING, ICSOC 2014, 2014, 8831 : 245 - 259
  • [5] REACT
    CHILDS, RJ
    ENGLISH JOURNAL, 1970, 59 (07): : 981 - 982
  • [6] How Do Developers React to API Evolution? The Pharo Ecosystem Case
    Hora, Andre
    Robbes, Romain
    Anquetil, Nicolas
    Etien, Anne
    Ducasse, Stephane
    Valente, Marco Tulio
    2015 31ST INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME) PROCEEDINGS, 2015, : 251 - 260
  • [7] React-bratus: Visualising React Component Hierarchies
    Boersma, Stephan
    Lungu, Mircea
    2021 WORKING CONFERENCE ON SOFTWARE VISUALIZATION (VISSOFT 2021), 2021, : 130 - 134
  • [8] React example viability for efficient API learning (REVEAL): A tool to help programmers utilize incompatible code examples in React.js']js
    Allen, John
    Kelleher, Caitlin
    JOURNAL OF COMPUTER LANGUAGES, 2023, 75
  • [9] Readers react
    不详
    AEROSPACE AMERICA, 2019, 57 (08) : 5 - 6
  • [10] React then repeat
    Stephen Davey
    Nature Chemistry, 2012, 4 (4) : 242 - 243