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

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

Full description

Saved in:
Bibliographic Details
Published inEmpirical software engineering : an international journal Vol. 24; no. 6; pp. 3824 - 3870
Main Authors Sawant, Anand Ashok, Robbes, Romain, Bacchelli, Alberto
Format Journal Article
LanguageEnglish
Published New York Springer US 01.12.2019
Springer Nature B.V
Subjects
Online AccessGet full text

Cover

Loading…
Abstract 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.
AbstractList 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.
Author Bacchelli, Alberto
Sawant, Anand Ashok
Robbes, Romain
Author_xml – sequence: 1
  givenname: Anand Ashok
  orcidid: 0000-0002-5816-8020
  surname: Sawant
  fullname: Sawant, Anand Ashok
  email: A.A.Sawant@tudelft.nl
  organization: Software Engineering Research Group Delft University of Technology
– sequence: 2
  givenname: Romain
  surname: Robbes
  fullname: Robbes, Romain
  organization: Software and Systems Engineering Research Group Free University of Bozen-Bolzano
– sequence: 3
  givenname: Alberto
  surname: Bacchelli
  fullname: Bacchelli, Alberto
  organization: Departments of Informatics University of Zurich
BookMark eNp9kE1LAzEQhoNUsK3-AU8Br0YnH5vNeqvFj0LBHuo5xGxWWjSpSUrx35t1C96EgRneed8ZeCZo5IN3CF1SuKEA9W2iIKUgQBsCTU05OZygMa1qTmpJ5ajMXDHCWSXP0CSlLUCxiWqM7tcBR2dsvsYhYh8yzkfhDq9Mzi76hEM3SJvg-_VstcCt20VnTS-do9POfCR3cexT9Pr4sJ4_k-XL02I-WxIrKM2krS1YkJ0Uby1rHai266wRhjWKO2qNMap1XFWSVa5RSnBwjAM3HVegGqP4FF0Nd3cxfO1dynob9tGXl5pxVkox0bvY4LIxpBRdp3dx82nit6age1Z6YKULK_3LSh9KiA-hVMz-3cW_0_-kfgDHiG1a
CitedBy_id crossref_primary_10_1007_s10664_021_10061_x
crossref_primary_10_1109_TSE_2021_3055123
crossref_primary_10_1109_MS_2021_3103134
crossref_primary_10_1007_s11831_022_09864_y
crossref_primary_10_1002_spe_2906
crossref_primary_10_1002_spe_2928
Cites_doi 10.1109/CSMR.2013.14
10.1109/MobileSoft.2015.9
10.1145/1368088.1368153
10.1109/ICSM.2013.18
10.1145/1137983.1137997
10.1007/s10664-015-9411-7
10.1007/s10664-016-9444-6
10.1145/2393596.2393662
10.1109/TSE.2014.2367027
10.1109/TSE.2007.70747
10.1109/SANER.2016.99
10.1109/WCRE.2011.24
10.1145/1869459.1869486
10.1145/2950290.2950325
10.1007/s11219-013-9221-3
10.1086/209351
10.1109/ICSE.2009.5070565
10.1145/1062455.1062512
10.1007/s10664-017-9554-9
10.1109/ICSM.2012.6405296
10.1002/smr.328
10.1016/0191-8869(86)90014-0
10.1007/s10664-014-9325-9
10.1007/s10664-017-9521-5
10.1109/ICSME.2016.64
10.1007/978-1-4842-0076-6
10.1145/1806799.1806848
10.1145/3180155.3180170
10.1109/ICSE.2007.71
10.1109/SCAM.2014.30
10.1109/SANER.2017.7884616
10.1109/ICSME.2018.00011
10.1109/SCAM.2014.33
10.1016/j.jss.2016.04.008
10.1145/1289971.1290000
10.1109/MSR.2012.6224294
10.1145/1869459.1869518
10.1145/1368088.1368154
10.1145/2597008.2597155
10.1109/ICSM.2015.7332471
10.1145/1176617.1176671
10.1016/j.jss.2017.12.007
10.1109/ICSM.1996.565039
10.1145/2950290.2950306
10.1145/2597073.2597074
10.1007/978-3-662-45391-9_17
10.1145/1806799.1806867
ContentType Journal Article
Copyright The Author(s) 2019
Empirical Software Engineering is a copyright of Springer, (2019). All Rights Reserved. © 2019. This work is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
Copyright_xml – notice: The Author(s) 2019
– notice: Empirical Software Engineering is a copyright of Springer, (2019). All Rights Reserved. © 2019. This work is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
DBID C6C
AAYXX
CITATION
7SC
8FD
8FE
8FG
ABJCF
AFKRA
ARAPS
BENPR
BGLVJ
CCPQU
DWQXO
HCIFZ
JQ2
L6V
L7M
L~C
L~D
M7S
P5Z
P62
PQEST
PQQKQ
PQUKI
PRINS
PTHSS
S0W
DOI 10.1007/s10664-019-09713-w
DatabaseName Springer Open Access
CrossRef
Computer and Information Systems Abstracts
Technology Research Database
ProQuest SciTech Collection
ProQuest Technology Collection
Materials Science & Engineering Collection
ProQuest Central
Advanced Technologies & Aerospace Database‎ (1962 - current)
ProQuest Central
Technology Collection
ProQuest One Community College
ProQuest Central
SciTech Premium Collection
ProQuest Computer Science Collection
ProQuest Engineering Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
Engineering Database
Advanced Technologies & Aerospace Database
ProQuest Advanced Technologies & Aerospace Collection
ProQuest One Academic Eastern Edition (DO NOT USE)
ProQuest One Academic
ProQuest One Academic UKI Edition
ProQuest Central China
Engineering Collection
DELNET Engineering & Technology Collection
DatabaseTitle CrossRef
Technology Collection
Technology Research Database
Computer and Information Systems Abstracts – Academic
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Computer Science Collection
Computer and Information Systems Abstracts
SciTech Premium Collection
ProQuest One Community College
ProQuest Central China
ProQuest Central
ProQuest Engineering Collection
ProQuest Central Korea
Advanced Technologies Database with Aerospace
Engineering Collection
Advanced Technologies & Aerospace Collection
Engineering Database
ProQuest One Academic Eastern Edition
ProQuest Technology Collection
ProQuest SciTech Collection
Computer and Information Systems Abstracts Professional
Advanced Technologies & Aerospace Database
ProQuest One Academic UKI Edition
ProQuest DELNET Engineering and Technology Collection
Materials Science & Engineering Collection
ProQuest One Academic
DatabaseTitleList Technology Collection

Database_xml – sequence: 1
  dbid: C6C
  name: Springer Open Access
  url: http://www.springeropen.com/
  sourceTypes: Publisher
– sequence: 2
  dbid: 8FG
  name: ProQuest Technology Collection
  url: https://search.proquest.com/technologycollection1
  sourceTypes: Aggregation Database
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1573-7616
EndPage 3870
ExternalDocumentID 10_1007_s10664_019_09713_w
GroupedDBID -4Z
-59
-5G
-BR
-EM
-Y2
-~C
.86
.DC
.VR
06D
0R~
0VY
199
1N0
1SB
2.D
203
28-
29G
2J2
2JN
2JY
2KG
2LR
2P1
2VQ
2~H
30V
4.4
406
408
409
40D
40E
5GY
5QI
5VS
67Z
6NX
78A
8FE
8FG
8TC
8UJ
95-
95.
95~
96X
AABHQ
AABYN
AAFGU
AAHNG
AAIAL
AAJKR
AANZL
AAOBN
AAPBV
AARHV
AARTL
AATNV
AATVU
AAUYE
AAWCG
AAWWR
AAYFA
AAYIU
AAYOK
AAYQN
AAYTO
ABBBX
ABBXA
ABDZT
ABECU
ABFGW
ABFTD
ABFTV
ABHLI
ABHQN
ABJCF
ABJNI
ABJOX
ABKAS
ABKCH
ABKTR
ABMNI
ABMQK
ABNWP
ABQBU
ABSXP
ABTEG
ABTHY
ABTKH
ABTMW
ABULA
ABWNU
ABXPI
ACBMV
ACBRV
ACBXY
ACBYP
ACGFS
ACHSB
ACHXU
ACIGE
ACIPQ
ACIWK
ACKNC
ACMDZ
ACMLO
ACOKC
ACOMO
ACSNA
ACTTH
ACVWB
ACWMK
ADGRI
ADHHG
ADHIR
ADIMF
ADINQ
ADKNI
ADKPE
ADMDM
ADOXG
ADRFC
ADTPH
ADURQ
ADYFF
ADZKW
AEBTG
AEEQQ
AEFIE
AEFTE
AEGAL
AEGNC
AEJHL
AEJRE
AEKMD
AENEX
AEOHA
AEPYU
AESKC
AESTI
AETLH
AEVLU
AEVTX
AEXYK
AEYWE
AFEXP
AFGCZ
AFKRA
AFLOW
AFNRJ
AFQWF
AFWTZ
AFZKB
AGAYW
AGDGC
AGGBP
AGGDS
AGJBK
AGMZJ
AGQMX
AGWIL
AGWZB
AGYKE
AHAVH
AHBYD
AHKAY
AHSBF
AHYZX
AIAKS
AIIXL
AILAN
AIMYW
AITGF
AJBLW
AJDOV
AJRNO
AJZVZ
AKQUC
ALMA_UNASSIGNED_HOLDINGS
ALWAN
AMKLP
AMXSW
AMYLF
AMYQR
AOCGG
ARAPS
ARMRJ
ASPBG
AVWKF
AXYYD
AYJHY
AZFZN
B-.
BA0
BBWZM
BDATZ
BENPR
BGLVJ
BGNMA
C6C
CAG
CCPQU
COF
CS3
CSCUP
DDRTE
DL5
DNIVK
DPUIP
DU5
EBLON
EBS
EIOEI
EJD
ESBYG
FEDTE
FERAY
FFXSO
FIGPU
FINBP
FNLPD
FRRFC
FSGXE
FWDCC
GGCAI
GGRSB
GJIRD
GNWQR
GQ6
GQ7
GQ8
GXS
HCIFZ
HF~
HG5
HG6
HMJXF
HQYDN
HRMNR
HVGLF
HZ~
I09
IHE
IJ-
IKXTQ
ITM
IWAJR
IXC
IZIGR
IZQ
I~X
I~Z
J-C
J0Z
JBSCW
JCJTX
JZLTJ
KDC
KOV
KOW
L6V
LAK
LLZTM
M4Y
M7S
MA-
N2Q
NB0
NDZJH
NPVJJ
NQJWS
NU0
O9-
O93
O9G
O9I
O9J
OAM
P19
P62
P9O
PF0
PT4
PT5
PTHSS
Q2X
QOK
QOS
R4E
R89
R9I
RHV
RNI
RNS
ROL
RPX
RSV
RZC
RZE
RZK
S0W
S16
S1Z
S26
S27
S28
S3B
SAP
SCJ
SCLPG
SCO
SDH
SDM
SHX
SISQX
SJYHP
SNE
SNPRN
SNX
SOHCF
SOJ
SPISZ
SRMVM
SSLCW
STPWE
SZN
T13
T16
TSG
TSK
TSV
TUC
U2A
UG4
UNUBA
UOJIU
UTJUX
UZXMN
VC2
VFIZW
W23
W48
WK8
YLTOR
Z45
Z7R
Z7S
Z7V
Z7X
Z7Z
Z81
Z83
Z86
Z88
Z8M
Z8N
Z8P
Z8R
Z8T
Z8U
Z8W
Z92
ZMTXR
~EX
AACDK
AAEOY
AAJBT
AASML
AAYXX
ABAKF
ACAOD
ACDTI
ACZOJ
AEFQL
AEMSY
AFBBN
AGQEE
AGRTI
AIGIU
CITATION
H13
7SC
8FD
DWQXO
JQ2
L7M
L~C
L~D
PQEST
PQQKQ
PQUKI
PRINS
ID FETCH-LOGICAL-c411t-d7c0c06f64bd2de08dffca4a2983e1caaa8de385625e988430e2303af38089a83
IEDL.DBID BENPR
ISSN 1382-3256
IngestDate Fri Sep 13 07:34:05 EDT 2024
Thu Sep 12 18:57:06 EDT 2024
Sat Dec 16 12:00:39 EST 2023
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Issue 6
Keywords Java
Application programming interface
API usage
Deprecation
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c411t-d7c0c06f64bd2de08dffca4a2983e1caaa8de385625e988430e2303af38089a83
ORCID 0000-0002-5816-8020
OpenAccessLink https://proxy.k.utb.cz/login?url=http://link.springer.com/10.1007/s10664-019-09713-w
PQID 2322328248
PQPubID 326341
PageCount 47
ParticipantIDs proquest_journals_2322328248
crossref_primary_10_1007_s10664_019_09713_w
springer_journals_10_1007_s10664_019_09713_w
PublicationCentury 2000
PublicationDate 2019-12-01
PublicationDateYYYYMMDD 2019-12-01
PublicationDate_xml – month: 12
  year: 2019
  text: 2019-12-01
  day: 01
PublicationDecade 2010
PublicationPlace New York
PublicationPlace_xml – name: New York
– name: Dordrecht
PublicationSubtitle An International Journal
PublicationTitle Empirical software engineering : an international journal
PublicationTitleAbbrev Empir Software Eng
PublicationYear 2019
Publisher Springer US
Springer Nature B.V
Publisher_xml – name: Springer US
– name: Springer Nature B.V
References Brooks Jr, FP (1995) The mythical Man-Month: Essays on software engineering, Anniversary Edition, 2/E Pearson Education India
Schäfer T, Jonas J, Mezini M (2008) Mining framework usage changes from instantiation code. In: Proceedings of 30th International Conference on Software Engineering (ICSE), pp 471–480
Wang S, Keivanloo I, Zou Y (2014) How do developers react to restful api evolution? Service-Oriented Computing:245–259
Marks S (2017) JEP 277: Enhanced Deprecation, http://openjdk.java.net/jeps/277, 2014–2017 last accessed
Spencer D, Warfel T (2004) Card sorting: a definitive guide. Boxes and Arrows:2
Chacon S, Straub B (2014) Pro git, Apress
Sawant AA, Bacchelli A (2017) Fine-grape: fine-grained api usage extractor–an approach and dataset to investigate api usage, Empirical Software Engineering, pp 1–24
Decan A, Mens T, Claes M, Grosjean P (2016) eLick When github meets CRAN: an analysis of inter-repository package dependency problems. In: Proceedings of the 23rd IEEE International Conference on Software Analysis. Evolution, and Reengineering (SANER,) pp 493–504
Hora AC, Valente MT, Robbes R, Anquetil N (2016) When should internal interfaces be promoted to public? In: Proceedings of the 24th ACM, SIGSOFT International Symposium on Foundations of Software Engineering (FSE), pp 278–289
BholowaliaPKumarAEbk-means: a clustering technique based on elbow method and k-means in wsnInt J Comput Appl20149105
WuWKhomhFAdamsBGuéhéneucY-GAntoniolGAn exploratory study of api changes and usages based on apache and eclipse ecosystemsEmpir Softw Eng20162162366241210.1007/s10664-015-9411-7
Jansen H (2010) The logic of qualitative survey research and its position in the field of social research methods, In Forum Qualitative Sozialforschung/Forum: Qualitative Social Research, vol 11
Holmes R, Walker RJ (2010) Customized awareness: recommending relevant external change events. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 1. ACM, pp 465–474
Cossette BE, Walker RJ (2012) Seeking the ground truth: a retroactive study on the evolution and migration of software libraries. In: Proceedings of 20th International Symposium on the Foundations of Software Engineering (FSE). ACM, pp 55
Kalliamvakou E, Gousios G, Blincoe K, Singer L, German DM, Damian D (2014) The promises and perils of mining github. In: Proceedings of the 11th working conference on mining software repositories. ACM, pp 92–101
Raemaekers S, van Deursen A, Visser J (2012) Measuring software library stability through historical version analysis. In: 28th IEEE International Conference onSoftware Maintenance (ICSM). IEEE, pp 378–387
Eclipse foundation (2018) Eclipse ide, http://www.eclipse.org
Wu W, Guéhéneuc Y-G, Antoniol G, Kim M (2010) Aura: a hybrid approach to identify framework evolution. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 1. ACM, pp 325–334
Xavier L, Brito A, Hora AC, Valente MT (2017) Historical and impact analysis of API breaking changes: A large-scale study. In: Proceedings of the 24th IEEE International Conference on Software Analysis. Evolution and Reengineering, (SANER,) pp 138–147
Chow K, Notkin D (1996) Semi-automatic update of applications in response to library changes. In: Proceedings of International Conference on Software Maintenance (ICSM), pp 359–368
Espinha Tiago, Zaidman Andy, Gross Hans-Gerhard (2014) Web api growing pains: Stories from client developers and their code. In: 2014 Software Evolution week-IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE). IEEE, pp 84–93
KulaRGGermanDMOuniAIshioTInoueKDo developers update their library dependencies?Empir Softw Eng201823138441710.1007/s10664-017-9521-5
BusingeJSerebrenikAvan den BrandMGJEclipse api usage: the good and the badSoftw Qual J201323110714110.1007/s11219-013-9221-3
Hora A, Robbes R, Anquetil N, Etien A, Ducasse S, Valente MT (2015) How do developers react to api evolution? the pharo ecosystem case. In: 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, pp 251–260
Linares-Vásquez M, Bavota G, Di Penta M, Oliveto R, Poshyvanyk D (2014) How do api changes trigger stack overflow discussions? a study on the android sdk. In: Proceedings of 22nd International Conference on Program Comprehension (ICPC). ACM, pp 83–94
Brito G, Hora A, Valente MT, Robbes R (2016a) Do developers deprecate apis with replacement messages? a large-scale analysis on java systems. In: 23nd IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016, Osaka, p to appear
McDonnell T, Ray B, Kim M (2013) An empirical study of API stability and adoption in the android ecosystem. In: Proceedings of 29th IEEE International Conference on Software Maintenance (ICSM). IEEE, pp 70–79
Henkel J, Diwan A (2005) Catchup!: capturing and replaying refactorings to support api evolution. In: Proceedings of the 27th international conference on Software engineering. ACM, pp 274–283
Decan A, Mens T, Claes M (2017) eLick An empirical comparison of dependency issues in OSS packaging ecosystems. In: Proceedings of the 24th IEEE International Conference on Software Analysis. Evolution and Reengineering (SANER,) pp 2–12
Bogart C, Kästner C, Herbsleb J, Thung F (2016a) How to break an api: cost negotiation and community values in three software ecosystems. In: Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, pp 109–120
DigDJohnsonRHow do apis evolve? a story of refactoringJ Softw Maint Evol: Res Pract20061828310710.1002/smr.328
Sawant AA, Robbes R, Bacchelli A (2016) On the reaction to deprecation of 25,357 clients of 4 + 1 popular java apis. In: 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, pp 400–410
Brooks FP (1975) No silver bullet. Software state-of-the-art:14–29
Robbes R, Lungu M, Röthlisberger D (2012) How do developers react to api deprecation?: the case of a smalltalk ecosystem. In: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering. ACM, pp 56
BavotaGabrieleLinares-VasquezMarioBernal-CardenasCarlos EduardoPentaMassimiliano DiOlivetoRoccoPoshyvanykDenysThe Impact of API Change- and Fault-Proneness on the User Ratings of Android AppsIEEE Transactions on Software Engineering201541438440710.1109/TSE.2014.2367027
TeytonCFalleriJ-RPalyartMBlancXA study of library migrations in javaJ Softw: Evol Process2014261110301052
Kapur P, Cossette B, Walker RJ (2010) Refactoring references for library migration. ACM, vol 45
BavotaGCanforaGDi PentaMOlivetoRPanichellaSHow the apache community upgrades dependencies: an evolutionary studyEmpir Softw Eng20152051275131710.1007/s10664-014-9325-9
Xie T, Pei J (2006) Mapo: Mining api usages from open source repositories. In: Proceedings of the 2006 international workshop on Mining software repositories. ACM, pp 54–57
Sawant AA, Huang G, Vilen G, Stojkovski S, Bacchelli A (2018a) Why are features deprecated? an investigation into the motivation behind deprecation. In: Proceedings of the 34th IEEE International Conference on Software Maintainance and Evolution. IEEE, p in print
Gousios G, Spinellis D (2012) Ghtorrent: Github’s data from a firehose. In: Proceedings of the 9th IEEE Working Conference on Mining Software Repositories. IEEE Press, pp 12–21
Raemaekers S, Van Deursen A, Visser J (2014) Semantic versioning versus breaking changes: A study of the maven repository. In: Technical Report Series TUD-SERG-2014-016 Accepted for publication by the 14th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2014). Delft University of Technology, Software Engineering Research Group, Victoria
Brito G, Hora A, Valente MT, Robbes R (2016b) Do developers deprecate apis with replacement messages? a large-scale analysis on java systems. In: 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER). IEEE, vol 1, pp 360–369
SawantAARobbesRBacchelliAOn the reaction to deprecation of clients of 4 + 1 popular java apis and the jdkEmpir Softw Eng20182342158219710.1007/s10664-017-9554-9
Rose JR (2017) How and when to deprecate apis, http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase11-419415.html#7122-jdk-1.1-doc-oth-JPR, 1996 last accessed
XingZStrouliaEApi-evolution support with diff-catchupIEEE Trans Softw Eng2007331281883610.1109/TSE.2007.70747
Dagenais B, Robillard MP (2009) Semdiff: Analysis and recommendation support for api evolution. In: Proceedings of the 31st International Conference on Software Engineering. IEEE Computer Society. 599–602
RaemaekersSvan DeursenAVisserJSemantic versioning and impact of breaking changes in the maven repositoryJ Syst Softw201712914015810.1016/j.jss.2016.04.008
Espinha T, Zaidman A, Gross H-G (2015) Web api fragility: How robust is your mobile application?. In: Proceedings of the 2nd International Conference on Mobile Software Engineering and Systems (MOBILESoft). IEEE, pp 12–21
Bajracharya S, Ngo T, Linstead E, Dou Y, Rigor P, Baldi P, Lopes C (2006) Sourcerer: a search engine for open source code supporting structure-based search. In: Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications. ACM, pp 681– 682
FisherRJSocial desirability bias and the validity of indirect questioningJ Consum Res199320230331510.1086/209351
Businge J, Serebrenik A, van den Brand M (2013b) Analyzing the eclipse API usage: Putting the developer in the loop. In: Proceedings of the 17th European Conference on Software Maintenance and Reengineering, CSMR, pp 37–46
Perkins JH (2005) Automatically generating refactorings to support api evolution. In: ACM SIGSOFT Software Engineering Notes. ACM, vol 31, pp 111–114
Sawant AA, Aniche M, van Deursen A, Bacchelli A (2018b) Understanding developers’ needs on deprecation as a language feature. In: Pro
9713_CR24
9713_CR26
9713_CR28
9713_CR29
C Teyton (9713_CR56) 2014; 26
9713_CR1
9713_CR5
9713_CR8
9713_CR61
9713_CR6
RJ Fisher (9713_CR25) 1993; 20
9713_CR62
9713_CR7
9713_CR20
9713_CR22
9713_CR23
9713_CR35
9713_CR36
9713_CR38
9713_CR39
P Bholowalia (9713_CR4) 2014; 9
RG Kula (9713_CR37) 2018; 23
J Businge (9713_CR12) 2013; 23
Z Xing (9713_CR63) 2007; 33
9713_CR30
9713_CR31
AA Sawant (9713_CR51) 2018; 23
9713_CR32
9713_CR33
9713_CR34
9713_CR46
9713_CR47
9713_CR48
9713_CR49
S Raemaekers (9713_CR45) 2017; 129
Gabriele Bavota (9713_CR3) 2015; 41
G Bavota (9713_CR2) 2015; 20
9713_CR40
9713_CR41
9713_CR42
9713_CR43
9713_CR44
9713_CR13
9713_CR57
9713_CR14
9713_CR58
9713_CR15
9713_CR59
9713_CR16
9713_CR17
9713_CR18
9713_CR19
G Brito (9713_CR9) 2018; 137
D Dig (9713_CR21) 2006; 18
9713_CR50
A Furnham (9713_CR27) 1986; 7
9713_CR52
9713_CR53
9713_CR10
9713_CR54
W Wu (9713_CR60) 2016; 21
9713_CR11
9713_CR55
References_xml – ident: 9713_CR10
– ident: 9713_CR13
  doi: 10.1109/CSMR.2013.14
– ident: 9713_CR24
  doi: 10.1109/MobileSoft.2015.9
– ident: 9713_CR20
– ident: 9713_CR54
  doi: 10.1145/1368088.1368153
– ident: 9713_CR40
  doi: 10.1109/ICSM.2013.18
– ident: 9713_CR62
  doi: 10.1145/1137983.1137997
– volume: 21
  start-page: 2366
  issue: 6
  year: 2016
  ident: 9713_CR60
  publication-title: Empir Softw Eng
  doi: 10.1007/s10664-015-9411-7
  contributor:
    fullname: W Wu
– ident: 9713_CR47
– ident: 9713_CR50
  doi: 10.1007/s10664-016-9444-6
– volume: 26
  start-page: 1030
  issue: 11
  year: 2014
  ident: 9713_CR56
  publication-title: J Softw: Evol Process
  contributor:
    fullname: C Teyton
– ident: 9713_CR46
  doi: 10.1145/2393596.2393662
– volume: 41
  start-page: 384
  issue: 4
  year: 2015
  ident: 9713_CR3
  publication-title: IEEE Transactions on Software Engineering
  doi: 10.1109/TSE.2014.2367027
  contributor:
    fullname: Gabriele Bavota
– volume: 33
  start-page: 818
  issue: 12
  year: 2007
  ident: 9713_CR63
  publication-title: IEEE Trans Softw Eng
  doi: 10.1109/TSE.2007.70747
  contributor:
    fullname: Z Xing
– ident: 9713_CR8
  doi: 10.1109/SANER.2016.99
– ident: 9713_CR11
– ident: 9713_CR33
  doi: 10.1109/WCRE.2011.24
– volume: 9
  start-page: 105
  year: 2014
  ident: 9713_CR4
  publication-title: Int J Comput Appl
  contributor:
    fullname: P Bholowalia
– ident: 9713_CR41
  doi: 10.1145/1869459.1869486
– ident: 9713_CR6
  doi: 10.1145/2950290.2950325
– ident: 9713_CR42
– volume: 23
  start-page: 107
  issue: 1
  year: 2013
  ident: 9713_CR12
  publication-title: Softw Qual J
  doi: 10.1007/s11219-013-9221-3
  contributor:
    fullname: J Businge
– volume: 20
  start-page: 303
  issue: 2
  year: 1993
  ident: 9713_CR25
  publication-title: J Consum Res
  doi: 10.1086/209351
  contributor:
    fullname: RJ Fisher
– ident: 9713_CR7
  doi: 10.1109/SANER.2016.99
– ident: 9713_CR18
  doi: 10.1109/ICSE.2009.5070565
– ident: 9713_CR29
  doi: 10.1145/1062455.1062512
– volume: 23
  start-page: 2158
  issue: 4
  year: 2018
  ident: 9713_CR51
  publication-title: Empir Softw Eng
  doi: 10.1007/s10664-017-9554-9
  contributor:
    fullname: AA Sawant
– ident: 9713_CR43
  doi: 10.1109/ICSM.2012.6405296
– volume: 18
  start-page: 83
  issue: 2
  year: 2006
  ident: 9713_CR21
  publication-title: J Softw Maint Evol: Res Pract
  doi: 10.1002/smr.328
  contributor:
    fullname: D Dig
– volume: 7
  start-page: 385
  issue: 3
  year: 1986
  ident: 9713_CR27
  publication-title: Person Individ Differ
  doi: 10.1016/0191-8869(86)90014-0
  contributor:
    fullname: A Furnham
– volume: 20
  start-page: 1275
  issue: 5
  year: 2015
  ident: 9713_CR2
  publication-title: Empir Softw Eng
  doi: 10.1007/s10664-014-9325-9
  contributor:
    fullname: G Bavota
– volume: 23
  start-page: 384
  issue: 1
  year: 2018
  ident: 9713_CR37
  publication-title: Empir Softw Eng
  doi: 10.1007/s10664-017-9521-5
  contributor:
    fullname: RG Kula
– ident: 9713_CR39
– ident: 9713_CR19
– ident: 9713_CR49
  doi: 10.1109/ICSME.2016.64
– ident: 9713_CR14
  doi: 10.1007/978-1-4842-0076-6
– ident: 9713_CR58
  doi: 10.1145/1806799.1806848
– ident: 9713_CR16
– ident: 9713_CR53
  doi: 10.1145/3180155.3180170
– ident: 9713_CR22
  doi: 10.1109/ICSE.2007.71
– ident: 9713_CR26
– ident: 9713_CR44
  doi: 10.1109/SCAM.2014.30
– ident: 9713_CR61
  doi: 10.1109/SANER.2017.7884616
– ident: 9713_CR52
  doi: 10.1109/ICSME.2018.00011
– ident: 9713_CR59
  doi: 10.1109/SCAM.2014.33
– volume: 129
  start-page: 140
  year: 2017
  ident: 9713_CR45
  publication-title: J Syst Softw
  doi: 10.1016/j.jss.2016.04.008
  contributor:
    fullname: S Raemaekers
– ident: 9713_CR48
  doi: 10.1145/1289971.1290000
– ident: 9713_CR5
  doi: 10.1145/2950290.2950325
– ident: 9713_CR34
– ident: 9713_CR28
  doi: 10.1109/MSR.2012.6224294
– ident: 9713_CR55
– ident: 9713_CR36
  doi: 10.1145/1869459.1869518
– ident: 9713_CR17
  doi: 10.1145/1368088.1368154
– ident: 9713_CR38
  doi: 10.1145/2597008.2597155
– ident: 9713_CR31
  doi: 10.1109/ICSM.2015.7332471
– ident: 9713_CR1
  doi: 10.1145/1176617.1176671
– volume: 137
  start-page: 306
  year: 2018
  ident: 9713_CR9
  publication-title: J Syst Softw
  doi: 10.1016/j.jss.2017.12.007
  contributor:
    fullname: G Brito
– ident: 9713_CR15
  doi: 10.1109/ICSM.1996.565039
– ident: 9713_CR23
– ident: 9713_CR32
  doi: 10.1145/2950290.2950306
– ident: 9713_CR35
  doi: 10.1145/2597073.2597074
– ident: 9713_CR57
  doi: 10.1007/978-3-662-45391-9_17
– ident: 9713_CR30
  doi: 10.1145/1806799.1806867
SSID ssj0009745
Score 2.3526623
Snippet Application Programming Interfaces (API) provide reusable functionality to aid developers in the development process. The features provided by these APIs might...
SourceID proquest
crossref
springer
SourceType Aggregation Database
Publisher
StartPage 3824
SubjectTerms Application programming interface
Compilers
Computer Science
Consumers
Data mining
Designers
Interpreters
Java
Programming Languages
Software Engineering/Programming and Operating Systems
Surveying
SummonAdditionalLinks – databaseName: SpringerLINK - Czech Republic Consortium
  dbid: AGYKE
  link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwED5Bu7BQnqJQkAc2miqJHcdhK6hQQKAOrVSmyK8sSAlqU1Xi12PnofAcqmTyRZZyZ9_D_u4O4FJ72jck4VAdaocIn1g9GDrcZSKQVIjItbnDzy90PCOP82De5HEXYPf6RrJQ1F9y3Si1gAmL8DGRlbPehnZg21K3oD28f30aNbV2w6I3sa2u52Bj0qtcmb9n-W6PGifzx71oYW7uOjCtk3ZKlMnbYJWLgfz4XcNxkz_Zg93K_UTDcr3sw5ZOD6BTt3ZA1U4_hJtphow7KfM-yhYozXKUVwPXaFKU5EyXKEvKISNaSx5OHlABrC1PAY9gdjea3o6dqt2CI4nn5Y4KpStdmlAilK-0y1SSSE64HzGsPck5Z0pjZiMmHTFGsKtN_IJ5gpnLIs7wMbTSLNUngEjIhcAJjRKVEKNDIqUCxrF5jIfHhOrCVc30-L2sqhE39ZMte2LDnrhgT7zuQq-WS1ztsGVsPEHzMp-wLvRrPjfk_2c73ezzM9jxragKBEsPWvlipc-NH5KLi2rdfQKRgNNC
  priority: 102
  providerName: Springer Nature
Title To react, or not to react: Patterns of reaction to API deprecation
URI https://link.springer.com/article/10.1007/s10664-019-09713-w
https://www.proquest.com/docview/2322328248/abstract/
Volume 24
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfR3LSsNAcLDtxYtvsVrLHrzZpUl2u9l4kVpaq2IpYqGewr5yTHxE_H130w1BQUnIYQb2MJOd9wPgwoQmsiiJmYkNpjKiTg7GWARcjhSTMglc7_Djgs1X9H49Wm_BvO6FcWWVtUysBLUulIuRD63mty-PKB8K6aIAqhxev75htz_K5Vn9Mo0WdKKQuoRt52a6WD41A3jjamGxG7mHidXzvoHGt9Ex5moxXPGQddrw108l1Viev5KllQ6a7cGONx7ReMPtfdgy-QHs1osZkL-nh3DzXCBrDKpygIp3lBclKj3gCi2rgZr5ByqyDcgyxqHHyztUlcVuYnhHsJpNnydz7JclYEXDsMQ6VoEKWMao1JE2AddZpgQVUcKJCZUQgmtDuPN3TMI5JYGx3gcRGeEBTwQnx9DOi9ycAKKxkJJkLMl0Rq0ESLQecUHsY-0zLnUXLmvqpK-bmRhpM_3Y0TK1tEwrWqZfXejVBEz9_fhIG252YVATtUH_fdrp_6edwXbk-FjVm_SgXb5_mnNrNZSyDy0-u-1DZ3z78jDt-9_DQidsYr-raPwNwJHCvA
link.rule.ids 315,786,790,12792,21416,27957,27958,33408,33779,41116,41155,41558,42185,42224,42627,43635,43840,51611,52146,52269,74392,74659
linkProvider ProQuest
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV3NT8MgFCc6D3rx2zidysGbI7aFUerFqHFuui07bMluBAoc27nV7N8XWppGE0174iUcfo_3Be8DgFsd6siSJKI61ojIiDg9GCMRMNlLqZRJ4GqHxxM6mJP3RW_hL9zWPq2y1omlolZ56u7I763ltz-LCHtcfiI3Ncq9rvoRGttgh2BrOl2leP-tabobl0OKXZs9hK1t90UzvnSOUpd_4RKGbKCGNj8NU-Nt_nogLe1O_xDse4cRPlUcPgJbOjsGB_UwBuhl8wQ8z3JoHcC06MJ8BbO8gIVfeIDTsolmtoa5qZYsMxz5aTqEZSpsdW93Cub919nLAPkBCSglYVggFadBGlBDiVSR0gFTxqSCiChhWIepEIIpjZmLcXTCGMGBthEHFgazgCWC4TPQyvJMnwNIYiElNjQxyhAr9YlSPSaw_axPxqRqg7saHb6s-mDwpuOxw5JbLHmJJd-0QacGkHuZWPOGg23QrUFtyH_vdvH_bjdgdzAbj_hoOPm4BHuR42mZb9IBrWL1pa-s11DI6_JofAN5eLxJ
linkToPdf http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV07T8MwELagSIiFN6JQwAMbtUhj13FYUHmElkfVoZW6WXZsj0lpg_r3sRNHEUigZPJJHu7su7P93X0AXOueDq1IIqojjYgMifODERIBk_2UShkHrnb4Y0yHM_I67889_mnlYZW1TywdtcpTd0d-ayO__VlI2K3xsIjJU3K_-ESOQcq9tHo6jU2w5ZJsx2bAkpemAW9UEha7lnsI2zjvC2h8GR2lDovhwEP20IbWP4NUk3n-eiwtY1CyD3Z98ggHlbUPwIbODsFeTcwA_T49Ag_THNpkMC26MF_CLC9g4Qfu4KRsqJmtYG6qIWsYJx5MRrCExVZ3eMdgljxPH4fIkyWglPR6BVJRGqQBNZRIFSodMGVMKogIY4Z1LxVCMKUxc-cdHTNGcKDt6QMLg1nAYsHwCWhleaZPASSRkBIbGhtliPUAsVJ9JrD9bH7GpGqDm1o7fFH1xOBN92OnS251yUtd8nUbdGoFcr8_VryxZht0a6U24r9nO_t_tiuwbVcFfx-N387BTuhMWkJPOqBVLL_0hU0gCnlZroxvVeTAfg
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=To+react%2C+or+not+to+react%3A+Patterns+of+reaction+to+API+deprecation&rft.jtitle=Empirical+software+engineering+%3A+an+international+journal&rft.au=Anand+Ashok+Sawant&rft.au=Robbes%2C+Romain&rft.au=Bacchelli%2C+Alberto&rft.date=2019-12-01&rft.pub=Springer+Nature+B.V&rft.issn=1382-3256&rft.eissn=1573-7616&rft.volume=24&rft.issue=6&rft.spage=3824&rft.epage=3870&rft_id=info:doi/10.1007%2Fs10664-019-09713-w&rft.externalDBID=HAS_PDF_LINK
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1382-3256&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1382-3256&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1382-3256&client=summon