Exploring API Deprecation Evolution in Java']JavaScript

被引:3
|
作者
Nascimento, Romulo [1 ]
Hora, Andre [1 ]
Figueiredo, Eduardo [1 ]
机构
[1] Univ Fed Minas Gerais, Dept Comp Sci, Belo Horizonte, MG, Brazil
来源
2022 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2022) | 2022年
关键词
API deprecation; !text type='Java']Java[!/text]Script library; Software evolution; Software maintenance; Software mining;
D O I
10.1109/SANER53432.2022.00031
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Building an application using third-party libraries is a common practice in software development. As any other system, software libraries and their APIs evolve. To support version migration and ensure backward compatibility, a recommended practice during development is to deprecate API. Different from other popular programming languages such as Java and C#, JavaScript has no native support to deprecate API elements. However, several strategies are commonly adopted to communicate that an API should be avoided, such as the project documentation, JSDoc annotation, code comment, console message, and deprecation utility. Indeed, there have been many studies on deprecation strategies and evolution mostly on Java, C#, and Python. However, to the best of our knowledge, there are no detailed studies aiming at analyzing how API deprecation changes over time in the JavaScript ecosystem. This paper provides an empirical study on how API deprecation evolves in JavaScript by analyzing 1,918 releases of 50 popular packages. Results show that close to 60% have rising trends in the number of deprecated APIs, while only 9.4% indicate a downward trend. Also, most deprecation occurrences are both added and removed on minor releases instead of removed on major releases, as recommended by best practices.
引用
收藏
页码:169 / 173
页数:5
相关论文
共 38 条
  • [1] Java']JavaScript API Deprecation in the Wild: A First Assessment
    Nascimento, Romulo
    Brito, Aline
    Hora, Andre
    Figueiredo, Eduardo
    PROCEEDINGS OF THE 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER '20), 2020, : 567 - 571
  • [2] Java']JavaScript API Deprecation Landscape: A Survey and Mining Study
    Nascimento, Romulo
    Figueiredo, Eduardo
    Hora, Andre
    IEEE SOFTWARE, 2022, 39 (03) : 96 - 105
  • [3] Analyzing the Evolution of Java']Javascript Applications
    Chatzimparmpas, Angelos
    Bibi, Stamatia
    Zozas, Ioannis
    Kerren, Andreas
    PROCEEDINGS OF THE 14TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING (ENASE), 2019, : 359 - 366
  • [4] On the use of replacement messages in API deprecation: An empirical study
    Brito, Gleison
    Hora, Andre
    Valente, Marco Tulio
    Robbes, Romain
    JOURNAL OF SYSTEMS AND SOFTWARE, 2018, 137 : 306 - 321
  • [5] Towards cost-effective API deprecation: A win-win strategy for API developers and API users
    Kao, Chia Hung
    Chang, Cheng-Ying
    Jiau, Hewijin Christine
    INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 142
  • [6] Exploring API/Client Co-Evolution
    Eilertsen, Anna Maria
    Bagge, Anya Helene
    2018 IEEE/ACM 2ND INTERNATIONAL WORKSHOP ON API USAGE AND EVOLUTION (WAPI), 2018, : 10 - 13
  • [7] Characterizing refactoring graphs in Java']Java and Java']JavaScript projects
    Brito, Aline
    Hora, Andre
    Valente, Marco Tulio
    EMPIRICAL SOFTWARE ENGINEERING, 2021, 26 (06)
  • [8] Slimming java']javascript applications: An approach for removing unused functions from java']javascript libraries
    Vazquez, H. C.
    Bergel, A.
    Vidal, S.
    Diaz Pace, J. A.
    Marcos, C.
    INFORMATION AND SOFTWARE TECHNOLOGY, 2019, 107 : 18 - 29
  • [9] API Deprecation: A Retrospective Analysis and Detection Method for Code Examples on the Web
    Zhou, Jing
    Walker, Robert J.
    FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, : 266 - 277
  • [10] An Investigation of confusing code patterns in Java']JavaScript
    Torres, Adriano
    Oliveira, Caio
    Okimoto, Marcio
    Marcilio, Diego
    Queiroga, Pedro
    Castor, Fernando
    Bonifacio, Rodrigo
    Canedo, Edna Dias
    Ribeiro, Marcio
    Monteiro, Eduardo
    JOURNAL OF SYSTEMS AND SOFTWARE, 2023, 203