Why Do We Break APIs? First Answers from Developers

被引:0
|
作者
Xavier, Laerte [1 ]
Hora, Andre [1 ]
Valente, Marco Tulio [1 ]
机构
[1] Fed Univ Minas Gerais UFMG, Dept Comp Sci DCC, ASERG Grp, Belo Horizonte, MG, Brazil
关键词
Software Evolution; API Stability; Backwards Compatibility; Qualitative Study;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Breaking contracts have a major impact on API clients. Despite this fact, recent studies show that libraries are often backward incompatible and that the rate of breaking changes increase over time. However, the specific reasons that motivate library developers to break contracts with their clients are still unclear. In this paper, we describe a qualitative study with library developers and real instance of API breaking changes. Our goal is to (i) elicit the reasons why developers introduce breaking changes; and (ii) check if they are aware about the risks of such changes. Our survey with the top contributors of popular Java libraries contributes to reveal a list of five reasons why developers break API contracts. Moreover, it also shows that most of developers are aware of these risks and, in some cases, adopt strategies to mitigate them. We conclude by prospecting a future study to strengthen our current findings. With this study, we expect to contribute on delineating tools to better assess the risks and impacts of API breaking changes.
引用
收藏
页码:392 / 396
页数:5
相关论文
共 50 条
  • [1] Why and How Java']Java Developers Break APIs
    Brito, Aline
    Xavier, Laerte
    Hora, Andre
    Valente, Marco Tulio
    2018 25TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2018), 2018, : 255 - 265
  • [2] Why We Engage in FLOSS: Answers from Core Developers
    Coelho, Jailton
    Valente, Marco Tulio
    Silva, Luciana L.
    Hora, Andre
    2018 IEEE/ACM 11TH INTERNATIONAL WORKSHOP ON COOPERATIVE AND HUMAN ASPECTS OF SOFTWARE ENGINEERING (CHASE), 2018, : 114 - 121
  • [3] What Makes APIs Hard to Learn? Answers from Developers
    Robillard, Martin P.
    IEEE SOFTWARE, 2009, 26 (06) : 27 - 34
  • [4] "Jumping Through Hoops": Why do Java']Java Developers Struggle With Cryptography APIs?
    Nadi, Sarah
    Krueger, Stefan
    Mezini, Mira
    Bodden, Eric
    2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2016, : 935 - 946
  • [5] Why do we break one of the first rules of anatomy when describing the components of the heart?
    De Almeida, Marcos C.
    Spicer, Diane E.
    Anderson, Robert H.
    CLINICAL ANATOMY, 2019, 32 (04) : 585 - 596
  • [6] Why Do Things Break When We Drop Them?
    Lang, George Fox
    SOUND AND VIBRATION, 2010, 44 (04): : 12 - 13
  • [7] What Do Developers Discuss about Biometric APIs?
    Jin, Zhe
    Chee, Kong Yik
    Xia, Xin
    2019 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2019), 2019, : 348 - 352
  • [8] Why do software developers like working from the office?
    Zaidman, Nurit
    Van Dijk, Dina
    INFORMATION AND SOFTWARE TECHNOLOGY, 2025, 179
  • [9] ANTIOXIDANTS AND CARDIOVASCULAR-DISEASE - WHY DO WE STILL NOT HAVE THE ANSWERS
    CHALMERS, TC
    ANNALS OF INTERNAL MEDICINE, 1995, 123 (11) : 887 - 887
  • [10] The why at IFAR: why do we do what we do?
    Smith, Timothy L.
    Sedaghat, Ahmad R.
    INTERNATIONAL FORUM OF ALLERGY & RHINOLOGY, 2022, 12 (11) : 1329 - 1329