Characterising deprecated Android APIs
Because of functionality evolution, or security and performance-related changes, some APIs eventually become unnecessary in a software system and thus need to be cleaned to ensure proper maintainability. Those APIs are typically marked first as deprecated APIs and, as recommended, follow through a d...
Saved in:
Published in | 2018 IEEE/ACM 15th International Conference on Mining Software Repositories (MSR) pp. 254 - 264 |
---|---|
Main Authors | , , , , , |
Format | Conference Proceeding |
Language | English |
Published |
New York, NY, USA
ACM
28.05.2018
|
Series | ACM Conferences |
Subjects | |
Online Access | Get full text |
ISBN | 9781450357166 1450357164 |
ISSN | 2574-3864 |
DOI | 10.1145/3196398.3196419 |
Cover
Abstract | Because of functionality evolution, or security and performance-related changes, some APIs eventually become unnecessary in a software system and thus need to be cleaned to ensure proper maintainability. Those APIs are typically marked first as deprecated APIs and, as recommended, follow through a deprecated-replaceremove cycle, giving an opportunity to client application developers to smoothly adapt their code in next updates. Such a mechanism is adopted in the Android framework development where thousands of reusable APIs are made available to Android app developers.
In this work, we present a research-based prototype tool called CDA and apply it to different revisions (i.e., releases or tags) of the Android framework code for characterising deprecated APIs. Based on the data mined by CDA, we then perform an exploratory study on API deprecation in the Android ecosystem and the associated challenges for maintaining quality apps. In particular, we investigate the prevalence of deprecated APIs, their annotations and documentation, their removal and consequences, their replacement messages, as well as developer reactions to API deprecation. Experimental results reveal several findings that further provide promising insights for future research directions related to deprecated Android APIs. Notably, by mining the source code of the Android framework base, we have identified three bugs related to deprecated APIs. These bugs have been quickly assigned and positively appreciated by the framework maintainers, who claim that these issues will be updated in future releases. |
---|---|
AbstractList | Because of functionality evolution, or security and performance-related changes, some APIs eventually become unnecessary in a software system and thus need to be cleaned to ensure proper maintainability. Those APIs are typically marked first as deprecated APIs and, as recommended, follow through a deprecated-replaceremove cycle, giving an opportunity to client application developers to smoothly adapt their code in next updates. Such a mechanism is adopted in the Android framework development where thousands of reusable APIs are made available to Android app developers.
In this work, we present a research-based prototype tool called CDA and apply it to different revisions (i.e., releases or tags) of the Android framework code for characterising deprecated APIs. Based on the data mined by CDA, we then perform an exploratory study on API deprecation in the Android ecosystem and the associated challenges for maintaining quality apps. In particular, we investigate the prevalence of deprecated APIs, their annotations and documentation, their removal and consequences, their replacement messages, as well as developer reactions to API deprecation. Experimental results reveal several findings that further provide promising insights for future research directions related to deprecated Android APIs. Notably, by mining the source code of the Android framework base, we have identified three bugs related to deprecated APIs. These bugs have been quickly assigned and positively appreciated by the framework maintainers, who claim that these issues will be updated in future releases. Because of functionality evolution, or security and performance-related changes, some APIs eventually become unnecessary in a software system and thus need to be cleaned to ensure proper maintainability. Those APIs are typically marked first as deprecated APIs and, as recommended, follow through a deprecated-replace-remove cycle, giving an opportunity to client application developers to smoothly adapt their code in next updates. Such a mechanism is adopted in the Android framework development where thousands of reusable APIs are made available to Android app developers. In this work, we present a research-based prototype tool called CDA and apply it to different revisions (i.e., releases or tags) of the Android framework code for characterising deprecated APIs. Based on the data mined by CDA, we then perform an exploratory study on API deprecation in the Android ecosystem and the associated challenges for maintaining quality apps. In particular, we investigate the prevalence of deprecated APIs, their annotations and documentation, their removal and consequences, their replacement messages, as well as developer reactions to API deprecation. Experimental results reveal several findings that further provide promising insights for future research directions related to deprecated Android APIs. Notably, by mining the source code of the Android framework base, we have identified three bugs related to deprecated APIs. These bugs have been quickly assigned and positively appreciated by the framework maintainers, who claim that these issues will be updated in future releases. |
Author | Ma, Lei Li, Li Klein, Jacques Bissyandé, Tegawendé F. Xia, Xin Gao, Jun |
Author_xml | – sequence: 1 givenname: Li surname: Li fullname: Li, Li email: li.li@monash.edu organization: Monash University, Australia – sequence: 2 givenname: Jun surname: Gao fullname: Gao, Jun email: jun.gao@uni.lu organization: University of Luxembourg, Luxembourg – sequence: 3 givenname: Tegawendé F. surname: Bissyandé fullname: Bissyandé, Tegawendé F. email: tegawende.bissyande@uni.lu organization: University of Luxembourg, Luxembourg – sequence: 4 givenname: Lei surname: Ma fullname: Ma, Lei email: malei@hit.edu.cn organization: Harbin Institute of Technology, China – sequence: 5 givenname: Xin surname: Xia fullname: Xia, Xin email: xin.xia@monash.edu organization: Monash University, Australia – sequence: 6 givenname: Jacques surname: Klein fullname: Klein, Jacques email: jacques.klein@uni.lu organization: University of Luxembourg, Luxembourg |
BookMark | eNqNkLlOw0AURYdNIgTXFDSpEI3NbG-WMrJYIkWCAurRLC9gIHY0dsPf4yiuqKhOca5ucS7Iadu1SMgVoxVjEu4Es0pYU-0pmT0ihdVmFFSAZkodkxkHLUthlDz5485J0feflFKujGRMz8hN_eGzjwPmpm_a90XCXcboB0yLZZty14x8WfWX5Gzjv3ssJs7J28P9a_1Urp8fV_VyXXpuYSiVT1GBScaABMu55lSH4AMCRGm9R6vRaInciqACCMpoUsqgiR6sDUnMyfXht0FEt8vN1ucfZ8ACp2a0twfr49aFrvvqHaNuH8VNUdwUZZxW_5y6kBvciF-nYFzF |
CODEN | IEEPAD |
ContentType | Conference Proceeding |
Copyright | 2018 ACM |
Copyright_xml | – notice: 2018 ACM |
DBID | 6IE 6IL CBEJK RIE RIL |
DOI | 10.1145/3196398.3196419 |
DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Electronic Library (IEL) IEEE Proceedings Order Plans (POP All) 1998-Present |
DatabaseTitleList | |
Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISBN | 9781450357166 1450357164 |
EISSN | 2574-3864 |
EndPage | 264 |
ExternalDocumentID | 8595208 |
Genre | orig-research |
GroupedDBID | 6IE 6IF 6IL 6IN AAJGR ABLEC ACM ADPZR ALMA_UNASSIGNED_HOLDINGS APO BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK GUFHI IEGSK LHSKQ OCL RIB RIC RIE RIL AAWTH ADZIZ CHZPO |
ID | FETCH-LOGICAL-a295t-6adc658d885459227207bbabe55c49aae97e874e293b6b53010d668e8ca599bd3 |
IEDL.DBID | RIE |
ISBN | 9781450357166 1450357164 |
IngestDate | Wed Aug 27 02:59:16 EDT 2025 Fri Sep 13 11:04:49 EDT 2024 |
IsDoiOpenAccess | false |
IsOpenAccess | true |
IsPeerReviewed | false |
IsScholarly | true |
Language | English |
License | Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Permissions@acm.org. |
LinkModel | DirectLink |
MeetingName | ICSE '18: 40th International Conference on Software Engineering |
MergedId | FETCHMERGED-LOGICAL-a295t-6adc658d885459227207bbabe55c49aae97e874e293b6b53010d668e8ca599bd3 |
PageCount | 11 |
ParticipantIDs | acm_books_10_1145_3196398_3196419 acm_books_10_1145_3196398_3196419_brief ieee_primary_8595208 |
PublicationCentury | 2000 |
PublicationDate | 20180528 2018-May |
PublicationDateYYYYMMDD | 2018-05-28 2018-05-01 |
PublicationDate_xml | – month: 05 year: 2018 text: 20180528 day: 28 |
PublicationDecade | 2010 |
PublicationPlace | New York, NY, USA |
PublicationPlace_xml | – name: New York, NY, USA |
PublicationSeriesTitle | ACM Conferences |
PublicationTitle | 2018 IEEE/ACM 15th International Conference on Mining Software Repositories (MSR) |
PublicationTitleAbbrev | MSR |
PublicationYear | 2018 |
Publisher | ACM |
Publisher_xml | – name: ACM |
SSID | ssj0002684117 ssj0003211714 |
Score | 2.3694136 |
Snippet | Because of functionality evolution, or security and performance-related changes, some APIs eventually become unnecessary in a software system and thus need to... |
SourceID | ieee acm |
SourceType | Publisher |
StartPage | 254 |
SubjectTerms | Android CDA Computer bugs Deprecated APIs Documentation Java Prototypes Security Software |
Title | Characterising deprecated Android APIs |
URI | https://ieeexplore.ieee.org/document/8595208 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LSwMxEB7anjxVbcX6YgXRi7vdR5JNztVShUoPFnpbJo-FIrbSbi_-epPdbYsi6Gkf5BA-Jswk-b5vAG6Q5SqUsfbTMEefoGE-5knkU0FjHXFNsVS9j1_YaEqeZ3TWgPudFsYYU5LPTOBey7t8vVQbd1TWd15csVP2Nm2YVVqt3XmKcy3Zaibdd2J3NmlEajefiNB-GWyCB6UHlXPWaaJ6_9ZUpcwpwzaMt7OpqCRvwaaQgfr8YdT43-keQnev3vMmu7x0BA2zOIb2tn2DV6_mDtwO9mbNdqD34EixjiClPUdzXM7tc_K07sJ0-Pg6GPl12wQfY0ELn6FWtq7QnNvqSMTuojWVEqWhVBGBaERqeEqMTfSSSWpXeKgZ44YrpEJInZxAa7FcmFPwYmQURUgxRkW0ETznxGnQkUgaScp6cG0xzNx-YJ1VEmea1ThnNc49uPtzTCZXc5P3oONAzD4qn42sxu_s99_ncGCLF16RDy-gVaw25tIWCIW8KiPjC4LHspM |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3PT8IwFH5BPOgJFYz4cyZGLw620XbtGSWgQDhAwm15XbuEGMHAuPjX224DojHRU9elh-ZLm_faft_3AO6QJbEnA-WGXoIuQc1cTFq-SwUNlM8VxUz1Phiy7oS8TOm0BI9bLYzWOiOf6Yb9zN7y1SJe26uypvXiCqyyd9_EfUJztdb2RsX6lmxUk7bfMmeb0CeFn49PaDNbboI3Mhcq662zh_H7t7IqWVTpVGCwmU9OJnlrrFPZiD9_WDX-d8JHUNvp95zRNjIdQ0nPT6CyKeDgFPu5CvftnV2zGeg8WVqspUgpxxIdFzPTjnqrGkw6z-N21y0KJ7gYCJq6DFVsMgvFuUFJBPapNZQSpaY0JgJRi1DzkGgT6iWT1OxxTzHGNY-RCiFV6xTK88Vcn4ETIKMoPIoBxkRpwRNOrAodiaS-pKwOtwbDyJ4IVlEucqZRgXNU4FyHhz_HRHI500kdqhbE6CN32ogK_M5__30DB93xoB_1e8PXCzg0qQzPqYiXUE6Xa31l0oVUXmer5AsUirXg |
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%3Abook&rft.genre=proceeding&rft.title=Proceedings+of+the+15th+International+Conference+on+Mining+Software+Repositories&rft.atitle=Characterising+deprecated+Android+APIs&rft.au=Li%2C+Li&rft.au=Gao%2C+Jun&rft.au=Bissyand%C3%A9%2C+Tegawend%C3%A9+F.&rft.au=Ma%2C+Lei&rft.series=ACM+Conferences&rft.date=2018-05-28&rft.pub=ACM&rft.isbn=9781450357166&rft.spage=254&rft.epage=264&rft_id=info:doi/10.1145%2F3196398.3196419 |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450357166/lc.gif&client=summon&freeimage=true |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450357166/mc.gif&client=summon&freeimage=true |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450357166/sc.gif&client=summon&freeimage=true |