API compatibility issues in Android: Causes and effectiveness of data-driven detection techniques

Android fragmentation is a well-known issue referring to the adoption of different versions in the multitude of devices supporting such an operating system. Each Android version features a set of APIs provided to developers. These APIs are subject to changes and may cause compatibility issues. To su...

Full description

Saved in:
Bibliographic Details
Published inEmpirical software engineering : an international journal Vol. 25; no. 6; pp. 5006 - 5046
Main Authors Scalabrino, Simone, Bavota, Gabriele, Linares-Vásquez, Mario, Piantadosi, Valentina, Lanza, Michele, Oliveto, Rocco
Format Journal Article
LanguageEnglish
Published New York Springer US 01.11.2020
Springer Nature B.V
Subjects
Online AccessGet full text

Cover

Loading…
Abstract Android fragmentation is a well-known issue referring to the adoption of different versions in the multitude of devices supporting such an operating system. Each Android version features a set of APIs provided to developers. These APIs are subject to changes and may cause compatibility issues. To support app developers, approaches have been proposed to automatically identify API compatibility issues. CiD , the state-of-the-art approach, is a data-driven solution learning how to detect those issues by analyzing the change history of Android APIs (“ API side ” learning). In this paper (extension of our MSR 2019 paper), we present an alternative data-driven approach, named ACRyL . ACRyL learns from changes implemented in apps in response to API changes (“ client side ” learning). When comparing these two solutions on 668 apps, for a total of 11,863 snapshots, we found that there is no clear winner, since the two techniques are highly complementary, and none of them provides a comprehensive support in detecting API compatibility issues: ACRyL achieves a precision of 7.0% (28.0%, when considering only the severe warnings), while CiD achieves a precision of 18.4%. This calls for more research in this field, and led us to run a second empirical study in which we manually analyze 500 pull-requests likely related to the fixing of compatibility issues, documenting the root cause behind the fixed issue. The most common causes are related to changes in the Android APIs ( ∼ 87%), while about 13% of the issues are related to external causes, such as build and distribution, dependencies, and the app itself. The provided empirical knowledge can inform the building of better tools for the detection of API compatibility issues.
AbstractList Android fragmentation is a well-known issue referring to the adoption of different versions in the multitude of devices supporting such an operating system. Each Android version features a set of APIs provided to developers. These APIs are subject to changes and may cause compatibility issues. To support app developers, approaches have been proposed to automatically identify API compatibility issues. CiD, the state-of-the-art approach, is a data-driven solution learning how to detect those issues by analyzing the change history of Android APIs (“API side” learning). In this paper (extension of our MSR 2019 paper), we present an alternative data-driven approach, named ACRyL. ACRyL learns from changes implemented in apps in response to API changes (“client side” learning). When comparing these two solutions on 668 apps, for a total of 11,863 snapshots, we found that there is no clear winner, since the two techniques are highly complementary, and none of them provides a comprehensive support in detecting API compatibility issues: ACRyL achieves a precision of 7.0% (28.0%, when considering only the severe warnings), while CiD achieves a precision of 18.4%. This calls for more research in this field, and led us to run a second empirical study in which we manually analyze 500 pull-requests likely related to the fixing of compatibility issues, documenting the root cause behind the fixed issue. The most common causes are related to changes in the Android APIs (∼ 87%), while about 13% of the issues are related to external causes, such as build and distribution, dependencies, and the app itself. The provided empirical knowledge can inform the building of better tools for the detection of API compatibility issues.
Android fragmentation is a well-known issue referring to the adoption of different versions in the multitude of devices supporting such an operating system. Each Android version features a set of APIs provided to developers. These APIs are subject to changes and may cause compatibility issues. To support app developers, approaches have been proposed to automatically identify API compatibility issues. CiD , the state-of-the-art approach, is a data-driven solution learning how to detect those issues by analyzing the change history of Android APIs (“ API side ” learning). In this paper (extension of our MSR 2019 paper), we present an alternative data-driven approach, named ACRyL . ACRyL learns from changes implemented in apps in response to API changes (“ client side ” learning). When comparing these two solutions on 668 apps, for a total of 11,863 snapshots, we found that there is no clear winner, since the two techniques are highly complementary, and none of them provides a comprehensive support in detecting API compatibility issues: ACRyL achieves a precision of 7.0% (28.0%, when considering only the severe warnings), while CiD achieves a precision of 18.4%. This calls for more research in this field, and led us to run a second empirical study in which we manually analyze 500 pull-requests likely related to the fixing of compatibility issues, documenting the root cause behind the fixed issue. The most common causes are related to changes in the Android APIs ( ∼ 87%), while about 13% of the issues are related to external causes, such as build and distribution, dependencies, and the app itself. The provided empirical knowledge can inform the building of better tools for the detection of API compatibility issues.
Author Oliveto, Rocco
Linares-Vásquez, Mario
Lanza, Michele
Scalabrino, Simone
Bavota, Gabriele
Piantadosi, Valentina
Author_xml – sequence: 1
  givenname: Simone
  orcidid: 0000-0003-1764-9685
  surname: Scalabrino
  fullname: Scalabrino, Simone
  email: simone.scalabrino@unimol.it
  organization: University of Molise
– sequence: 2
  givenname: Gabriele
  surname: Bavota
  fullname: Bavota, Gabriele
  organization: REVEAL @ Software Institute - Università della Svizzera Italiana
– sequence: 3
  givenname: Mario
  surname: Linares-Vásquez
  fullname: Linares-Vásquez, Mario
  organization: Universidad de los Andes
– sequence: 4
  givenname: Valentina
  surname: Piantadosi
  fullname: Piantadosi, Valentina
  organization: University of Molise
– sequence: 5
  givenname: Michele
  surname: Lanza
  fullname: Lanza, Michele
  organization: REVEAL @ Software Institute - Università della Svizzera Italiana
– sequence: 6
  givenname: Rocco
  surname: Oliveto
  fullname: Oliveto, Rocco
  organization: University of Molise
BookMark eNp9kEtLQzEQhYNUsK3-AVcB19G8bnLrrhRfUNCFrkOah6a0uTVJLf335lpBcNHVDGfONzOcERjELjoALgm-JhjLm0ywEBxhihGetFKi3QkYkkYyJAURg9qzliJGG3EGRjkvMcYTyZsh0NOXJ2i69UaXsAirUPYw5Lx1GYYIp9GmLthbONPbXCUdLXTeO1PCl4suZ9h5aHXRyKZegdaVfthFWOtHDJ910Tk49XqV3cVvHYO3-7vX2SOaPz88zaZzZJiQBbWSWUs0pk4KT4UhpsHCCGp9SxvsBKfEsLaV3PCqNgup3cJbwheceeKYZmNwddi7SV1_t6hlt02xnlSUSyIaQTmrrvbgMqnLOTmvTCi6f7kkHVaKYNUHqg6Bqhqo-glU7SpK_6GbFNY67Y9D7ADlao7vLv19dYT6BgbBjBY
CitedBy_id crossref_primary_10_1007_s10664_023_10391_y
crossref_primary_10_1145_3725810
crossref_primary_10_1109_TSE_2023_3237247
crossref_primary_10_1145_3624737
crossref_primary_10_1016_j_infsof_2024_107530
crossref_primary_10_1186_s13174_021_00134_x
crossref_primary_10_1016_j_jss_2021_111166
crossref_primary_10_1016_j_eswa_2025_126444
crossref_primary_10_1007_s10664_025_10639_9
Cites_doi 10.1109/SP.2014.33
10.1109/WCRE.2012.18
10.1145/2950290.2950298
10.1109/ICSME.2016.64
10.1109/SPW.2016.31
10.1145/2597008.2597155
10.1109/ICSM.2013.18
10.1109/MSR.2019.00055
10.1145/3197231.3197255
10.1109/ESEM.2013.9
10.1007/978-3-319-94361-9_10
10.1145/2393596.2393662
10.1145/2491411.2491428
10.1109/MSR.2016.055
10.1109/TSE.2018.2827384
10.1109/SANER.2016.99
10.1145/3196398.3196419
10.1109/ASE.2015.89
10.1109/ICSME.2016.35
10.1109/ICSME.2017.27
10.1109/MOBILESoft.2019.00016
10.1145/2351676.2351722
10.1109/TSE.2014.2367027
10.1145/2970276.2970312
10.1007/978-3-319-60033-8_58
10.1109/ASE.2017.8115644
10.1145/3213846.3213857
10.1145/3238147.3238185
ContentType Journal Article
Copyright Springer Science+Business Media, LLC, part of Springer Nature 2020
Springer Science+Business Media, LLC, part of Springer Nature 2020.
Copyright_xml – notice: Springer Science+Business Media, LLC, part of Springer Nature 2020
– notice: Springer Science+Business Media, LLC, part of Springer Nature 2020.
DBID AAYXX
CITATION
7SC
8FD
8FE
8FG
ABJCF
AFKRA
ARAPS
BENPR
BGLVJ
CCPQU
DWQXO
HCIFZ
JQ2
L6V
L7M
L~C
L~D
M7S
P5Z
P62
PHGZM
PHGZT
PKEHL
PQEST
PQGLB
PQQKQ
PQUKI
PRINS
PTHSS
S0W
DOI 10.1007/s10664-020-09877-w
DatabaseName CrossRef
Computer and Information Systems Abstracts
Technology Research Database
ProQuest SciTech Collection
ProQuest Technology Collection
Materials Science & Engineering Collection
ProQuest Central UK/Ireland
Advanced Technologies & Aerospace Collection
ProQuest Central
Technology Collection
ProQuest One
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 Central Premium
ProQuest One Academic
ProQuest One Academic Middle East (New)
ProQuest One Academic Eastern Edition (DO NOT USE)
ProQuest One Applied & Life Sciences
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 One Academic Middle East (New)
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 One Applied & Life Sciences
ProQuest Engineering Collection
ProQuest Central Korea
ProQuest Central (New)
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
ProQuest One Academic (New)
DatabaseTitleList Technology Collection

Database_xml – sequence: 1
  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 5046
ExternalDocumentID 10_1007_s10664_020_09877_w
GrantInformation_xml – fundername: Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung
  grantid: 175513
  funderid: https://doi.org/10.13039/501100001711
– fundername: Ministero dell’Istruzione, dell’Università e della Ricerca
  grantid: PON-ARS01 00860
  funderid: https://doi.org/10.13039/501100003407
– fundername: Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung
  grantid: SNF-NRP 75
  funderid: https://doi.org/10.13039/501100001711
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
AACDK
AAHNG
AAIAL
AAJBT
AAJKR
AANZL
AAOBN
AARHV
AARTL
AASML
AATNV
AATVU
AAUYE
AAWCG
AAYIU
AAYOK
AAYQN
AAYTO
AAYZH
ABAKF
ABBBX
ABBXA
ABDZT
ABECU
ABFTD
ABFTV
ABHLI
ABHQN
ABJCF
ABJNI
ABJOX
ABKCH
ABKTR
ABMNI
ABMQK
ABNWP
ABQBU
ABQSL
ABSXP
ABTEG
ABTHY
ABTKH
ABTMW
ABULA
ABWNU
ABXPI
ACAOD
ACBXY
ACDTI
ACGFS
ACHSB
ACHXU
ACIWK
ACKNC
ACMDZ
ACMLO
ACOKC
ACOMO
ACPIV
ACSNA
ACZOJ
ADHHG
ADHIR
ADIMF
ADINQ
ADKNI
ADKPE
ADRFC
ADTPH
ADURQ
ADYFF
ADZKW
AEBTG
AEFIE
AEFQL
AEGAL
AEGNC
AEJHL
AEJRE
AEKMD
AEMSY
AENEX
AEOHA
AEPYU
AESKC
AETLH
AEVLU
AEXYK
AFBBN
AFEXP
AFGCZ
AFKRA
AFLOW
AFQWF
AFWTZ
AFZKB
AGAYW
AGDGC
AGGDS
AGJBK
AGMZJ
AGQEE
AGQMX
AGRTI
AGWIL
AGWZB
AGYKE
AHAVH
AHBYD
AHKAY
AHSBF
AHYZX
AIAKS
AIGIU
AIIXL
AILAN
AITGF
AJBLW
AJRNO
AJZVZ
ALMA_UNASSIGNED_HOLDINGS
ALWAN
AMKLP
AMXSW
AMYLF
AMYQR
AOCGG
ARAPS
ARMRJ
ASPBG
AVWKF
AXYYD
AYJHY
AZFZN
B-.
BA0
BBWZM
BDATZ
BENPR
BGLVJ
BGNMA
BSONS
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
H13
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
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
AAPKM
AAYXX
ABBRH
ABDBE
ABFSG
ACSTC
ADHKG
AEZWR
AFDZB
AFHIU
AFOHR
AGQPQ
AHPBZ
AHWEU
AIXLP
ATHPR
AYFIA
CITATION
PHGZM
PHGZT
7SC
8FD
ABRTQ
DWQXO
JQ2
L7M
L~C
L~D
PKEHL
PQEST
PQGLB
PQQKQ
PQUKI
PRINS
ID FETCH-LOGICAL-c367t-873dd1a02e76f26c1c506c62df8250e6421c38874c4c625b7aebfd14b43f1e3a3
IEDL.DBID BENPR
ISSN 1382-3256
IngestDate Fri Jul 25 19:04:14 EDT 2025
Tue Jul 01 03:32:19 EDT 2025
Thu Apr 24 23:04:31 EDT 2025
Fri Feb 21 02:35:48 EST 2025
IsPeerReviewed true
IsScholarly true
Issue 6
Keywords API compatibility issues
Taxonomy
Empirical study
Android
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c367t-873dd1a02e76f26c1c506c62df8250e6421c38874c4c625b7aebfd14b43f1e3a3
Notes ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ORCID 0000-0003-1764-9685
PQID 2471656243
PQPubID 326341
PageCount 41
ParticipantIDs proquest_journals_2471656243
crossref_citationtrail_10_1007_s10664_020_09877_w
crossref_primary_10_1007_s10664_020_09877_w
springer_journals_10_1007_s10664_020_09877_w
ProviderPackageCode CITATION
AAYXX
PublicationCentury 2000
PublicationDate 2020-11-01
PublicationDateYYYYMMDD 2020-11-01
PublicationDate_xml – month: 11
  year: 2020
  text: 2020-11-01
  day: 01
PublicationDecade 2020
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 2020
Publisher Springer US
Springer Nature B.V
Publisher_xml – name: Springer US
– name: Springer Nature B.V
References Mutchler P, Safaei Y, Doupé A, Mitchell J (2016) Target fragmentation in Android apps. In: Proceedings of the IEEE Security and Privacy Workshops, SPW, pp 204–213, https://doi.org/10.1109/SPW.2016.31
McDonnell T, Ray B, Kim M (2013 ) An empirical study of API stability and adoption in the Android ecosystem. In: Proceedings of the IEEE international conference on software maintenance. https://doi.org/10.1109/ICSM.2013.18. IEEE Computer Society, ICSM, pp 70–79
Spencer D (2009) Card sorting: Designing usable categories. Rosenfeld Media
Bartel A, Klein J, Le Traon Y, Monperrus M (2012) Automatically securing permission-based software by reducing the attack surface: An application to android. In: 2012 Proceedings of the 27th IEEE/ACM international conference on automated software engineering. IEEE, pp 274–277
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 the 22nd International Conference on Program Comprehension. ACM, ICPC, pp 83–94, https://doi.org/10.1145/2597008.2597155
Backes M, Bugiel S, Derr E, McDaniel P, Octeau D, Weisgerber S (2016) On demystifying the android application framework: Re-visiting android permission specification analysis. In: 25th {USENIX} security symposium ({USENIX} security 16), pp 1101–1118
Wei L, Liu Y, Cheung SC (2016) Taming Android fragmentation: Characterizing and detecting compatibility issues for Android apps. In: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, ASE, pp 226–237
Brito G, Hora A, Valente MT, Robbes R (2016) Do developers deprecate APIs with replacement messages? A large-scale analysis on java systems. In: Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER. https://doi.org/10.1109/SANER.2016.99, vol 1, pp 360–369
Fazzini M, Orso A (2017) Automated cross-platform inconsistency detection for mobile apps. In: Proceedings of the 32Nd IEEE/ACM international conference on automated software engineering. IEEE Press, pp 308–318
Linares-Vásquez M, Moran K, Poshyvanyk D (2017) Continuous, evolutionary and large-scale: A new perspective for automated mobile app testing. In: Proceedings of the IEEE International Conference on Software Maintenance and Evolution. ICSME, pp 399–410 https://doi.org/10.1109/ICSME.2017.27
Scalabrino S, Bavota G, Linares-Vásquez M, Piantadosi V, Lanza M, Oliveto R (2020) Replication package. https://dibt.unimol.it/report/acryl-emse
Wu D, Liu X, Xu J, Lo D, Gao D (2017) Measuring the declared SDK versions and their consistency with API calls in Android apps. In: Proceedings of the International Conference on Wireless Algorithms, Systems, and Applications. Springer International Publishing, pp 678–690
Sawant AA, Robbes R, Bacchelli A (2016) On the reaction to deprecation of 25,357 clients of 4 + 1 popular java APIs. In: Proceedings of the IEEE International Conference on Software Maintenance and Evolution, ICSME, pp 400–410 https://doi.org/10.1109/ICSME.2016.64
Linares-Vásquez M, Bavota G, Bernal-Cárdenas C, Di Penta M, Oliveto R, Poshyvanyk D (2013) API change and fault proneness: A threat to the success of Android apps. In: Proceedings of the 9th Joint meeting on foundations of software engineering. ACM, ESEC/FSE, pp 477–487, https://doi.org/10.1145/2491411.2491428
Zhou X, Lee Y, Zhang N, Naveed M, Wang X (2014) The peril of fragmentation: Security hazards in Android device driver customizations. In: Proceedings of the IEEE Symposium on Security and Privacy. IEEE Computer Society, SP, pp 409–423, https://doi.org/10.1109/SP.2014.33
Luo T, Wu J, Yang M, Zhao S, Wu Y, Wang Y (2018) MAD-API: Detection, Correction and explanation of API misuses in distributed android applications. In: Proceedings of the 7th International conference on artificial intelligence and mobile services. Springer International Publishing, pp 123–140
Scalabrino S, Bavota G, Linares-Vásquez M, Lanza M, Oliveto R (2019) Data-driven solutions to detect API compatibility issues in android: an empirical study. In: Proceedings of the 16th International Conference on Mining Software Repositories, MSR 2019, 26–27 May 2019, Montreal, Canada pp 288–298
Li L, Gao J, Bissyandé TF, Ma L, Xia X, Klein J (2018b) Characterising deprecated Android APIs. In: Proceedings of the 15th international conference on mining software repositories. MSR, pp 254–264
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 20th ACM SIGSOFT International Symposium on the Foundations of Software Engineering. ACM, FSE, pp 56:1–56:11 https://doi.org/10.1145/2393596.2393662
Amann S, Nadi S, Nguyen HA, Nguyen TN, Mezini M (2016) MUBench: A benchmark for API-misuse detectors. In: Proceedings of the 13th IEEE/ACM Working Conference on Mining Software Repositories, MSR. https://doi.org/10.1109/MSR.2016.055, pp 464–467
BavotaGLinares-VásquezMBernal-CárdenasCEPentaMDOlivetoRPoshyvanykDThe impact of API change- and fault-proneness on the user ratings of Android appsIEEE Trans Softw Eng201541438440710.1109/TSE.2014.2367027
Li L, Bissyandé TF, Le Traon Y, Klein J (2016) Accessing inaccessible Android APIs: An empirical study. In: Proceedings of the IEEE international conference on software maintenance and evolution. ICSME, pp 411–422 https://doi.org/10.1109/ICSME.2016.35
Zhang Z, Cai H (2019) A look into developer intentions for app compatibility in android. In: 2019 IEEE/ACM 6th international conference on mobile software engineering and systems, MOBILESoft. IEEE, pp 40–44
Li L, Bissyandé TF, Wang H, Klein J (2018a) CiD: Automating the detection of API-related compatibility issues in Android apps. In: Proceedings of the 27th ACM SIGSOFT international symposium on software testing and analysis. ISSTA, pp 153–163
He D, Li L, Wang L, Zheng H, Li G, Xue J (2018) Understanding and detecting evolution-induced compatibility issues in Android apps. In: Proceedings of the 33rd ACM/IEEE international conference on automated software engineering. ACM, ASE, pp 167–177, https://doi.org/10.1145/3238147.3238185
Amann S, Nguyen HA, Nadi S, Nguyen TN, Mezini M (2018) A systematic evaluation of static API-misuse detectors. IEEE Transactions on Software Engineering, https://doi.org/10.1109/TSE.2018.2827384
Choudhary SR, Gorla A, Orso A (2015) Automated test input generation for Android: Are we there yet?. In: Proceedings of the 30th IEEE/ACM international conference on automated software engineering, IEEE Computer Society, ASE, pp 429–440, https://doi.org/10.1109/ASE.2015.89
Han D, Zhang C, Fan X, Hindle A, Wong K, Stroulia E (2012) Understanding android fragmentation with topic analysis of vendor-specific bugs. In: Proceedings of the 19th working conference on reverse engineering. WCRE, pp 83–92 https://doi.org/10.1109/WCRE.2012.18
Joorabchi ME, Mesbah A, Kruchten P (2013) Real challenges in mobile app development. In: Proceedings of the ACM/IEEE International symposium on empirical software engineering and measurement. ESEM, pp 15–24 https://doi.org/10.1109/ESEM.2013.9
Zhou J, Walker R J (2016) API Deprecation: a retrospective analysis and detection method for code examples on the web. In: Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, FSE, pp 266-277, https://doi.org/10.1145/2950290.2950298
Dilhara M, Cai H, Jenkins J (2018) Automated detection and repair of incompatible uses of runtime permissions in android apps. In: Proceedings of the 5th International Conference on Mobile Software Engineering and Systems. ACM, pp 67–71
9877_CR21
G Bavota (9877_CR5) 2015; 41
9877_CR22
9877_CR20
9877_CR25
9877_CR26
9877_CR23
9877_CR24
9877_CR29
9877_CR27
9877_CR28
9877_CR8
9877_CR10
9877_CR7
9877_CR11
9877_CR30
9877_CR9
9877_CR31
9877_CR4
9877_CR3
9877_CR6
9877_CR2
9877_CR1
9877_CR14
9877_CR15
9877_CR12
9877_CR13
9877_CR18
9877_CR19
9877_CR16
9877_CR17
References_xml – reference: Han D, Zhang C, Fan X, Hindle A, Wong K, Stroulia E (2012) Understanding android fragmentation with topic analysis of vendor-specific bugs. In: Proceedings of the 19th working conference on reverse engineering. WCRE, pp 83–92 https://doi.org/10.1109/WCRE.2012.18
– reference: Linares-Vásquez M, Bavota G, Bernal-Cárdenas C, Di Penta M, Oliveto R, Poshyvanyk D (2013) API change and fault proneness: A threat to the success of Android apps. In: Proceedings of the 9th Joint meeting on foundations of software engineering. ACM, ESEC/FSE, pp 477–487, https://doi.org/10.1145/2491411.2491428
– reference: Choudhary SR, Gorla A, Orso A (2015) Automated test input generation for Android: Are we there yet?. In: Proceedings of the 30th IEEE/ACM international conference on automated software engineering, IEEE Computer Society, ASE, pp 429–440, https://doi.org/10.1109/ASE.2015.89
– reference: Bartel A, Klein J, Le Traon Y, Monperrus M (2012) Automatically securing permission-based software by reducing the attack surface: An application to android. In: 2012 Proceedings of the 27th IEEE/ACM international conference on automated software engineering. IEEE, pp 274–277
– reference: 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 20th ACM SIGSOFT International Symposium on the Foundations of Software Engineering. ACM, FSE, pp 56:1–56:11 https://doi.org/10.1145/2393596.2393662
– reference: Zhou J, Walker R J (2016) API Deprecation: a retrospective analysis and detection method for code examples on the web. In: Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, FSE, pp 266-277, https://doi.org/10.1145/2950290.2950298
– reference: Li L, Gao J, Bissyandé TF, Ma L, Xia X, Klein J (2018b) Characterising deprecated Android APIs. In: Proceedings of the 15th international conference on mining software repositories. MSR, pp 254–264
– reference: Brito G, Hora A, Valente MT, Robbes R (2016) Do developers deprecate APIs with replacement messages? A large-scale analysis on java systems. In: Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER. https://doi.org/10.1109/SANER.2016.99, vol 1, pp 360–369
– reference: Sawant AA, Robbes R, Bacchelli A (2016) On the reaction to deprecation of 25,357 clients of 4 + 1 popular java APIs. In: Proceedings of the IEEE International Conference on Software Maintenance and Evolution, ICSME, pp 400–410 https://doi.org/10.1109/ICSME.2016.64
– reference: Dilhara M, Cai H, Jenkins J (2018) Automated detection and repair of incompatible uses of runtime permissions in android apps. In: Proceedings of the 5th International Conference on Mobile Software Engineering and Systems. ACM, pp 67–71
– reference: Luo T, Wu J, Yang M, Zhao S, Wu Y, Wang Y (2018) MAD-API: Detection, Correction and explanation of API misuses in distributed android applications. In: Proceedings of the 7th International conference on artificial intelligence and mobile services. Springer International Publishing, pp 123–140
– reference: Amann S, Nadi S, Nguyen HA, Nguyen TN, Mezini M (2016) MUBench: A benchmark for API-misuse detectors. In: Proceedings of the 13th IEEE/ACM Working Conference on Mining Software Repositories, MSR. https://doi.org/10.1109/MSR.2016.055, pp 464–467
– reference: Backes M, Bugiel S, Derr E, McDaniel P, Octeau D, Weisgerber S (2016) On demystifying the android application framework: Re-visiting android permission specification analysis. In: 25th {USENIX} security symposium ({USENIX} security 16), pp 1101–1118
– reference: Joorabchi ME, Mesbah A, Kruchten P (2013) Real challenges in mobile app development. In: Proceedings of the ACM/IEEE International symposium on empirical software engineering and measurement. ESEM, pp 15–24 https://doi.org/10.1109/ESEM.2013.9
– reference: Li L, Bissyandé TF, Le Traon Y, Klein J (2016) Accessing inaccessible Android APIs: An empirical study. In: Proceedings of the IEEE international conference on software maintenance and evolution. ICSME, pp 411–422 https://doi.org/10.1109/ICSME.2016.35
– reference: Linares-Vásquez M, Moran K, Poshyvanyk D (2017) Continuous, evolutionary and large-scale: A new perspective for automated mobile app testing. In: Proceedings of the IEEE International Conference on Software Maintenance and Evolution. ICSME, pp 399–410 https://doi.org/10.1109/ICSME.2017.27
– reference: Wu D, Liu X, Xu J, Lo D, Gao D (2017) Measuring the declared SDK versions and their consistency with API calls in Android apps. In: Proceedings of the International Conference on Wireless Algorithms, Systems, and Applications. Springer International Publishing, pp 678–690
– reference: BavotaGLinares-VásquezMBernal-CárdenasCEPentaMDOlivetoRPoshyvanykDThe impact of API change- and fault-proneness on the user ratings of Android appsIEEE Trans Softw Eng201541438440710.1109/TSE.2014.2367027
– reference: Scalabrino S, Bavota G, Linares-Vásquez M, Piantadosi V, Lanza M, Oliveto R (2020) Replication package. https://dibt.unimol.it/report/acryl-emse/
– reference: He D, Li L, Wang L, Zheng H, Li G, Xue J (2018) Understanding and detecting evolution-induced compatibility issues in Android apps. In: Proceedings of the 33rd ACM/IEEE international conference on automated software engineering. ACM, ASE, pp 167–177, https://doi.org/10.1145/3238147.3238185
– reference: Zhou X, Lee Y, Zhang N, Naveed M, Wang X (2014) The peril of fragmentation: Security hazards in Android device driver customizations. In: Proceedings of the IEEE Symposium on Security and Privacy. IEEE Computer Society, SP, pp 409–423, https://doi.org/10.1109/SP.2014.33
– reference: Wei L, Liu Y, Cheung SC (2016) Taming Android fragmentation: Characterizing and detecting compatibility issues for Android apps. In: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, ASE, pp 226–237
– reference: Fazzini M, Orso A (2017) Automated cross-platform inconsistency detection for mobile apps. In: Proceedings of the 32Nd IEEE/ACM international conference on automated software engineering. IEEE Press, pp 308–318
– reference: 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 the 22nd International Conference on Program Comprehension. ACM, ICPC, pp 83–94, https://doi.org/10.1145/2597008.2597155
– reference: Zhang Z, Cai H (2019) A look into developer intentions for app compatibility in android. In: 2019 IEEE/ACM 6th international conference on mobile software engineering and systems, MOBILESoft. IEEE, pp 40–44
– reference: Mutchler P, Safaei Y, Doupé A, Mitchell J (2016) Target fragmentation in Android apps. In: Proceedings of the IEEE Security and Privacy Workshops, SPW, pp 204–213, https://doi.org/10.1109/SPW.2016.31
– reference: McDonnell T, Ray B, Kim M (2013 ) An empirical study of API stability and adoption in the Android ecosystem. In: Proceedings of the IEEE international conference on software maintenance. https://doi.org/10.1109/ICSM.2013.18. IEEE Computer Society, ICSM, pp 70–79
– reference: Scalabrino S, Bavota G, Linares-Vásquez M, Lanza M, Oliveto R (2019) Data-driven solutions to detect API compatibility issues in android: an empirical study. In: Proceedings of the 16th International Conference on Mining Software Repositories, MSR 2019, 26–27 May 2019, Montreal, Canada pp 288–298
– reference: Spencer D (2009) Card sorting: Designing usable categories. Rosenfeld Media
– reference: Amann S, Nguyen HA, Nadi S, Nguyen TN, Mezini M (2018) A systematic evaluation of static API-misuse detectors. IEEE Transactions on Software Engineering, https://doi.org/10.1109/TSE.2018.2827384
– reference: Li L, Bissyandé TF, Wang H, Klein J (2018a) CiD: Automating the detection of API-related compatibility issues in Android apps. In: Proceedings of the 27th ACM SIGSOFT international symposium on software testing and analysis. ISSTA, pp 153–163
– ident: 9877_CR31
  doi: 10.1109/SP.2014.33
– ident: 9877_CR10
  doi: 10.1109/WCRE.2012.18
– ident: 9877_CR30
  doi: 10.1145/2950290.2950298
– ident: 9877_CR23
  doi: 10.1109/ICSME.2016.64
– ident: 9877_CR26
– ident: 9877_CR21
  doi: 10.1109/SPW.2016.31
– ident: 9877_CR17
  doi: 10.1145/2597008.2597155
– ident: 9877_CR20
  doi: 10.1109/ICSM.2013.18
– ident: 9877_CR24
  doi: 10.1109/MSR.2019.00055
– ident: 9877_CR8
  doi: 10.1145/3197231.3197255
– ident: 9877_CR12
  doi: 10.1109/ESEM.2013.9
– ident: 9877_CR19
  doi: 10.1007/978-3-319-94361-9_10
– ident: 9877_CR22
  doi: 10.1145/2393596.2393662
– ident: 9877_CR16
  doi: 10.1145/2491411.2491428
– ident: 9877_CR1
  doi: 10.1109/MSR.2016.055
– ident: 9877_CR2
  doi: 10.1109/TSE.2018.2827384
– ident: 9877_CR6
  doi: 10.1109/SANER.2016.99
– ident: 9877_CR15
  doi: 10.1145/3196398.3196419
– ident: 9877_CR7
  doi: 10.1109/ASE.2015.89
– ident: 9877_CR13
  doi: 10.1109/ICSME.2016.35
– ident: 9877_CR18
  doi: 10.1109/ICSME.2017.27
– ident: 9877_CR29
  doi: 10.1109/MOBILESoft.2019.00016
– ident: 9877_CR25
– ident: 9877_CR3
– ident: 9877_CR4
  doi: 10.1145/2351676.2351722
– volume: 41
  start-page: 384
  issue: 4
  year: 2015
  ident: 9877_CR5
  publication-title: IEEE Trans Softw Eng
  doi: 10.1109/TSE.2014.2367027
– ident: 9877_CR27
  doi: 10.1145/2970276.2970312
– ident: 9877_CR28
  doi: 10.1007/978-3-319-60033-8_58
– ident: 9877_CR9
  doi: 10.1109/ASE.2017.8115644
– ident: 9877_CR14
  doi: 10.1145/3213846.3213857
– ident: 9877_CR11
  doi: 10.1145/3238147.3238185
SSID ssj0009745
Score 2.338418
Snippet Android fragmentation is a well-known issue referring to the adoption of different versions in the multitude of devices supporting such an operating system....
SourceID proquest
crossref
springer
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 5006
SubjectTerms Application programming interface
Compatibility
Compilers
Computer Science
Empirical analysis
Interpreters
Learning
Mining Software Repositories (MSR)
Mobile operating systems
Programming Languages
Software Engineering/Programming and Operating Systems
SummonAdditionalLinks – databaseName: SpringerLink Journals (ICM)
  dbid: U2A
  link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3NS8MwFA86L178FqdTcvCmgaZJ083bGI7pQTw42K3kqzCQTtaO4X_vS5quKip4TdMc3nt5H-T3fg-ha2YHisvEEkglNOFKUqIgMoBCZN9Gg2gQK4-2eBKTKX-cJbPQFFY2aPfmSdJ76k_NbkJw4sqdCArllKy30U7ianew4mk8bKl2Uz-a2JHrEQYRPbTK_HzG13DU5pjfnkV9tBkfoL2QJuJhrddDtGWLI7TfjGDA4UYeIzl8fsAeR17VMNd37CVZ4nmBHVhxMTd3eCRXJSzJwuAavxFcHF7k2EFEiVm6FWxs5ZFZBd5Qu5YnaDq-fxlNSJiaQDQTaQXujRlDZRTbVOSx0FQnkdAiNjkUg5F1ja2agWvhmsNqolJpVW4oV5zl1DLJTlGnWBT2DGFKbWJUHmkGSaLoc-n47uAWg9apyXPRRbQRXqYDpbibbPGatWTITuAZCDzzAs_WXXSz-eetJtT4c3ev0UkWLleZxRBQIQ2NOeui20ZP7effTzv_3_YLtBs7U_Gdhz3UqZYrewkpSKWuvMV9ANDB0qo
  priority: 102
  providerName: Springer Nature
Title API compatibility issues in Android: Causes and effectiveness of data-driven detection techniques
URI https://link.springer.com/article/10.1007/s10664-020-09877-w
https://www.proquest.com/docview/2471656243
Volume 25
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV1LT-MwEB4BveyF1-6K8qh84AYWcew4LRdUUMtLQmhFJfYU-RUJaZWyJAjx7xm7DhFIcJ3EPsyM52F_MwOwz91IC5U5iqGEoUIrRjV6BhSIGrpklIxSHdAWN_JiJq7us_t44VZHWGVrE4OhtnPj78iPUrSiGHukgp88_qd-apR_XY0jNJahhyZ4iMlX73Ryc_una7ubhzHFvtEe5ejdY9lMLJ6TUlCfPiWYeOf05aNr6uLNT0-kwfNM12E1hoxkvJDxBiy5ahPW2nEMJJ7On6DGt5ckYMqbBeT1lQSu1uShIh64OH-wx-RMPddIUpUlCyxHNHdkXhIPF6X2yVOIdU1AaVXkvc1r_Qtm08nd2QWNExSo4TJv0NRxa5lKUpfLMpWGmSyRRqa2xMQwcb7I1XA0M8IIpGY6V06XlgkteMkcV_w3rFTzym0BYcxlVpeJ4RgwyqFQvvcdnmjUAGbLUvaBtcwrTGwv7qdc_Cu6xsie4QUyvAgML176cPC-5nHRXOPbv3dbmRTxoNVFpxZ9OGzl1H3-erft73fbgR-pV41QdbgLK83Ts9vD8KPRA1geTs8H0Buf_72eDKLGIXWWjt8Ak8TZ7A
linkProvider ProQuest
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1LT9wwEB5ROLQX6At1gbY-tCewGj_i7CIhhGiX3fIQB5C4Bb8iIVVZIEEr_hS_kbGTELVSuXF1Eh_m5Zn4m28Avgk_MlKnnmIqYak0mlGDJwMqRA99MkpG3ES0xYmanMvfF-nFAjx0vTABVtnFxBio3cyGf-Q_OEZRzD24FLvXNzRMjQq3q90IjcYsDv39HEu2amf6E_X7nfPxr7P9CW2nClArVFaj-wvnmE64z1TBlWU2TZRV3BVYLCU-NH5aga4nrcTV1GTam8IxaaQomBda4L6vYEkKMQoeNRwf9CS_WRyKHGj9qMBcom3SaVv1lJI0FGsJlvkZnf99EPbZ7T8XsvGcG7-F5TZBJXuNRb2DBV--h5Vu-ANpY8EH0HunUxIR7HUDsL0nUYcVuSpJgEnOrtw22dd3FS7p0pEGOdIGVzIrSACnUncbVojzdcSEleSJVLb6COcvItlVWCxnpf8EhDGfOlMkVmB6qoZSB6Y9jB9ob8wVhRoA64SX25bMPMzU-JP3NMxB4DkKPI8Cz-cD2Hz65rqh8nj27Y1OJ3nr1lXeG-EAtjo99Y__v9va87t9hdeTs-Oj_Gh6crgOb3gwk9jvuAGL9e2d_4yJT22-RGsjcPnS5v0IA4wRyg
linkToPdf http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1La9wwEB7SDZRe-i7ZNkl1aE-tiPWwnC2UkCZZsk1ZltJAbq6sBwSKN40dlvy1_rqOZDmmgeaWq2zrMPNpHtY3MwDvhJtUUueOYihhqKw0oxV6BlSI3nXZJJvwKrIt5ur4VH49y8_W4E9fCxNolb1NjIbaLk34R77D0Ypi7MGl2PGJFrE4nO5d_KZhglS4ae3HaXQQOXHXK0zfms-zQ9T1e86nRz8OjmmaMECNUEWLpkBYy3TGXaE8V4aZPFNGcesxccpcKAI1Ao-hNBJX86rQrvKWyUoKz5zQAvd9AOsFZkXZCNa_HM0X34eWv0UckRya_FGBkUUq2UmFe0pJGlK3DJP-gq7-dYtDrHvrejZ6velTeJzCVbLf4esZrLn6OTzpR0GQZBlegN5fzEjks7cd3faaRI025LwmgTS5PLefyIG-anBJ15Z0PJJkasnSk0BVpfYyrBDr2sgQq8lNi9nmJZzei2xfwahe1m4DCGMut5XPjMBgVe1KHfruoTVB9DHrvRoD64VXmtTaPEzY-FUOTZmDwEsUeBkFXq7G8OHmm4uuscedb2_2OinTIW_KAZJj-NjraXj8_91e373bW3iI0C6_zeYnb-ARDyiJxY-bMGovr9wWRkFttZ3gRuDnfSP8L2jCF1w
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=API+compatibility+issues+in+Android%3A+Causes+and+effectiveness+of+data-driven+detection+techniques&rft.jtitle=Empirical+software+engineering+%3A+an+international+journal&rft.au=Scalabrino+Simone&rft.au=Bavota+Gabriele&rft.au=Linares-V%C3%A1squez%2C+Mario&rft.au=Piantadosi+Valentina&rft.date=2020-11-01&rft.pub=Springer+Nature+B.V&rft.issn=1382-3256&rft.eissn=1573-7616&rft.volume=25&rft.issue=6&rft.spage=5006&rft.epage=5046&rft_id=info:doi/10.1007%2Fs10664-020-09877-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