Identifying and characterizing silently-evolved methods in the android API

Pei Liu, Li Li, Yichun Yan, Mattia Fazzini, John Grundy

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Scopus citations

Abstract

With over 500,000 commits and more than 700 contributors, the Android platform is undoubtedly one of the largest industrial-scale software projects. This project provides the widely known Android API, which facilitates the development of Android apps. Unfortunately, because the Android platform and its API evolve at an extremely rapid pace, app developers need to continually monitor API changes to avoid compatibility issues in their apps (i.e their apps do not work as expected when running on the new version of the API). Despite a large number of studies on compatibility issues in the Android API, the research community has not yet investigated issues related to silently-evolved methods (SEMs). These methods are functions whose behavior might have changed but the corresponding documentation did not change accordingly. Because app developers rely on the provided documentation to evolve their apps, changes to methods that are not suitably documented may lead to unexpected runtime issues in the apps using these methods. To fill this gap, we conducted a large-scale empirical study in which we identified and characterized SEMs across 10 versions of the Android API. In the study, we identified SEMs, characterized the nature of the changes, and analyzed the impact of SEMs on a set of 1,000 real-world Android apps. Our experimental results show that SEMs do exist in the Android framework, and that 957 of the apps we considered use at least one SEM. Based on these results, we argue that the Android platform developers should take actions to avoid introducing silently-evolved methods, especially those involving semantic changes. This situation highlights the need for automated techniques and tools to help Android practitioners in this task.

Original languageEnglish (US)
Title of host publicationProceedings - 2021 IEEE/ACM 43rd International Conference on Software Engineering
Subtitle of host publicationSoftware Engineering in Practice, ICSE-SEIP 2021
PublisherIEEE Computer Society
Pages308-317
Number of pages10
ISBN (Electronic)9780738146690
DOIs
StatePublished - May 2021
Event43rd IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2021 - Virtual, Online, Spain
Duration: May 25 2021May 28 2021

Publication series

NameProceedings - International Conference on Software Engineering
ISSN (Print)0270-5257

Conference

Conference43rd IEEE/ACM International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP 2021
Country/TerritorySpain
CityVirtual, Online
Period5/25/215/28/21

Bibliographical note

Funding Information:
This work was partially supported by the Australian Research Council (ARC) under a Laureate Fellowship project FL190100035, a Discovery Early Career Researcher Award (DECRA) project DE200100016, a Discovery project DP200100020, and a gift from Facebook.

Publisher Copyright:
© 2021 IEEE.

Fingerprint

Dive into the research topics of 'Identifying and characterizing silently-evolved methods in the android API'. Together they form a unique fingerprint.

Cite this