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...
Saved in:
Published in | Empirical software engineering : an international journal Vol. 25; no. 6; pp. 5006 - 5046 |
---|---|
Main Authors | , , , , , |
Format | Journal Article |
Language | English |
Published |
New York
Springer US
01.11.2020
Springer Nature B.V |
Subjects | |
Online Access | Get 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 |