Understanding and Detecting Callback Compatibility Issues for Android Applications

The control flows of Android apps are largely driven by the protocols that govern how callback APIs are invoked in response to various events. When these callback APIs evolve along with the Android framework, the changes in their invocation protocols can induce unexpected control flows to existing A...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE) S. 532 - 542
Hauptverfasser: Huang, Huaxun, Wei, Lili, Liu, Yepang, Cheung, Shing-Chi
Format: Tagungsbericht
Sprache:Englisch
Veröffentlicht: ACM 01.09.2018
Schlagworte:
ISSN:2643-1572
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract The control flows of Android apps are largely driven by the protocols that govern how callback APIs are invoked in response to various events. When these callback APIs evolve along with the Android framework, the changes in their invocation protocols can induce unexpected control flows to existing Android apps, causing various compatibility issues. We refer to these issues as callback compatibility issues. While Android framework updates have received due attention, little is known about their impacts on app control flows and the callback compatibility issues thus induced. To bridge the gap, we examined Android documentations and conducted an empirical study on 100 real-world callback compatibility issues to investigate how these issues were induced by callback API evolutions. Based on our empirical findings, we propose a graph-based model to capture the control flow inconsistencies caused by API evolutions and devise a static analysis technique, Cider, to detect callback compatibility issues. Our evaluation of Cider on 20 popular open-source Android apps shows that Cider is effective. It detected 13 new callback compatibility issues in these apps, among which 12 issues were confirmed and 9 issues were fixed.
AbstractList The control flows of Android apps are largely driven by the protocols that govern how callback APIs are invoked in response to various events. When these callback APIs evolve along with the Android framework, the changes in their invocation protocols can induce unexpected control flows to existing Android apps, causing various compatibility issues. We refer to these issues as callback compatibility issues. While Android framework updates have received due attention, little is known about their impacts on app control flows and the callback compatibility issues thus induced. To bridge the gap, we examined Android documentations and conducted an empirical study on 100 real-world callback compatibility issues to investigate how these issues were induced by callback API evolutions. Based on our empirical findings, we propose a graph-based model to capture the control flow inconsistencies caused by API evolutions and devise a static analysis technique, Cider, to detect callback compatibility issues. Our evaluation of Cider on 20 popular open-source Android apps shows that Cider is effective. It detected 13 new callback compatibility issues in these apps, among which 12 issues were confirmed and 9 issues were fixed.
Author Wei, Lili
Liu, Yepang
Cheung, Shing-Chi
Huang, Huaxun
Author_xml – sequence: 1
  givenname: Huaxun
  surname: Huang
  fullname: Huang, Huaxun
  organization: The Hong Kong University of Science and Technology,Hong Kong, China
– sequence: 2
  givenname: Lili
  surname: Wei
  fullname: Wei, Lili
  organization: The Hong Kong University of Science and Technology,Hong Kong, China
– sequence: 3
  givenname: Yepang
  surname: Liu
  fullname: Liu, Yepang
  organization: Southern University of Science and Technology,Shenzhen,China
– sequence: 4
  givenname: Shing-Chi
  surname: Cheung
  fullname: Cheung, Shing-Chi
  organization: The Hong Kong University of Science and Technology,Hong Kong, China
BookMark eNotj81KAzEYRaMo2NauXbjJC0xN8k3-lmW0WigIYsFd-SbJSHSaGSbjom_v-LM6nMvlwp2Ti9SlQMgNZyvOS3kHAgwv9eqXhp-R-ZQykBb02zmZCVVCwaUWV2SZ8wdjTBjNpJAz8rJPPgx5xORjeqcT6H0Ygxt_rMK2rdF90qo79jjGOrZxPNFtzl8h06Yb6Dr5oYuervu-jW6qdClfk8sG2xyW_1yQ_ebhtXoqds-P22q9K1BoORaGWWOQ194rrZxGzrlAEMaAUJOrGpzF0ocApUQbsEEpAZVtrHasdhYW5PZvN4YQDv0QjzicDnZ6x5SCb5bCUYw
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1145/3238147.3238181
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://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 145035937X
9781450359375
EISSN 2643-1572
EndPage 542
ExternalDocumentID 9000066
Genre orig-research
GroupedDBID 29I
6IE
6IF
6IH
6IK
6IL
6IM
6IN
6J9
AAJGR
AAWTH
ABLEC
ACREN
ADYOE
ADZIZ
AFYQB
ALMA_UNASSIGNED_HOLDINGS
AMTXH
APO
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
IPLJI
M43
OCL
RIE
RIL
ID FETCH-LOGICAL-a275t-80988a1bdd676c7a1112a32883266c76b3c9a4dee345a9eafa553a69f97c0bc93
IEDL.DBID RIE
ISICitedReferencesCount 47
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000553784500051&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Aug 13 06:22:43 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a275t-80988a1bdd676c7a1112a32883266c76b3c9a4dee345a9eafa553a69f97c0bc93
PageCount 11
ParticipantIDs ieee_primary_9000066
PublicationCentury 2000
PublicationDate 2018-Sept.
PublicationDateYYYYMMDD 2018-09-01
PublicationDate_xml – month: 09
  year: 2018
  text: 2018-Sept.
PublicationDecade 2010
PublicationTitle 2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)
PublicationTitleAbbrev ASE
PublicationYear 2018
Publisher ACM
Publisher_xml – name: ACM
SSID ssj0002870525
ssj0051577
Score 2.3512354
Snippet The control flows of Android apps are largely driven by the protocols that govern how callback APIs are invoked in response to various events. When these...
SourceID ieee
SourceType Publisher
StartPage 532
SubjectTerms Analytical models
Android API
callback compatibility
Documentation
empirical study
Protocols
Runtime
Static analysis
Title Understanding and Detecting Callback Compatibility Issues for Android Applications
URI https://ieeexplore.ieee.org/document/9000066
WOSCitedRecordID wos000553784500051&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LTwIxEJ4A8eAJFYzv9ODRhV3a7eNoUOKJECMJNzJ9bEIkYHAx8d_bdlfg4MVTH6emTeebdma-D-BeSdRGMZME7vSE-QdHgkUmk5wKQykynjoZxSbEeCxnMzVpwMOuFsY5F5PPXC90Yyzfrs02fJX1VbSuvAlNIXhVq7X7TwkBu3zPs-dhWoiayidjeZ8GaGKiF9tAYn2gpRKhZNT-3yJOoLuvySOTHdqcQsOtzqD9K8pA6jvagdfpYbkK8Q15ciFSEEZDXC41mncSzUBZZcZ-k0qCj3j_lYQEx_XCkseDwHYXpqPnt-FLUgsnJDgQeelRR0mJmbaWC24Eens2QBp0hT0cG8E1NQqZdY6yHJXDAvOcIleFEib1R0fPobVar9wFEF5IJ1w6sNL6p5guVKppxrTyuK9oYegldMIWzT8qbox5vTtXf09fw7F3OGSVo3UDrXKzdbdwZL7KxefmLh7oD01EoHY
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LTwIxEJ4gmugJFYxve_Dowu72fTQowYiEGEi4kW63mxAIGFxM_Pe23RU4ePHUx6lp0_mmnZnvA7iXQiVaEh047vSA2AdHoLJIBBRzjbEiLDTCi03wfl-Mx3JQgYdNLYwxxiefmabr-lh-utRr91XWkt66sj3Yp4TEYVGttflRcSE7umXas0DNeUnmExHawg6cCG_61tFY76ipeDDp1P63jGNobKvy0GCDNydQMYtTqP3KMqDyltbhfbRbsIJsg56MixW4UVvN54nSM-QNQV7kxn6jQoQPWQ8WuRTH5TRFjzuh7QaMOs_DdjcopRMCFXOaW9yRQqgoSVPGmebKWrRYYacsbAFZc5ZgLRVJjcGEKmlUpijFislMch3aw8NnUF0sF-YcEMuE4SaMU5Hax1iSyTDBEUmkRX6JM40voO62aPJRsGNMyt25_Hv6Dg67w7fepPfSf72CI-t-iCJj6xqq-WptbuBAf-XTz9WtP9wf1OOjvQ
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=proceeding&rft.title=2018+33rd+IEEE%2FACM+International+Conference+on+Automated+Software+Engineering+%28ASE%29&rft.atitle=Understanding+and+Detecting+Callback+Compatibility+Issues+for+Android+Applications&rft.au=Huang%2C+Huaxun&rft.au=Wei%2C+Lili&rft.au=Liu%2C+Yepang&rft.au=Cheung%2C+Shing-Chi&rft.date=2018-09-01&rft.pub=ACM&rft.eissn=2643-1572&rft.spage=532&rft.epage=542&rft_id=info:doi/10.1145%2F3238147.3238181&rft.externalDocID=9000066