CiD: automating the detection of API-related compatibility issues in Android apps

Li Li, Tegawendé F. Bissyandé, Haoyu Wang, Jacques Klein

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

Abstract

The Android Application Programming Interface provides the necessary building blocks for app developers to harness the functionalities of the Android devices, including for interacting with services and accessing hardware. This API thus evolves rapidly to meet new requirements for security, performance and advanced features, creating a race for developers to update apps. Unfortunately, given the extent of the API and the lack of automated alerts on important changes, Android apps are suffered from API-related compatibility issues. These issues can manifest themselves as runtime crashes creating a poor user experience. We propose in this paper an automated approach named CiD for systematically modelling the lifecycle of the Android APIs and analysing app bytecode to flag usages that can lead to potential compatibility issues.We demonstrate the usefulness of CiD by helping developers repair their apps, and we validate that our tool outperforms the state-of-the-art on benchmark apps that take into account several challenges for automatic detection.

Original languageEnglish
Title of host publicationISSTA'18 - Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis
Subtitle of host publicationJuly 16–21, 2018 Amsterdam, Netherlands
EditorsFrank Tip, Eric Bodden
Place of PublicationNew York NY USA
PublisherAssociation for Computing Machinery (ACM)
Pages153-163
Number of pages11
ISBN (Electronic)9781450356992
DOIs
Publication statusPublished - 2018
EventInternational Symposium on Software Testing and Analysis 2018 - Amsterdam, Netherlands
Duration: 16 Jul 201821 Jul 2018
Conference number: 27th
https://conf.researchr.org/home/issta-2018

Conference

ConferenceInternational Symposium on Software Testing and Analysis 2018
Abbreviated titleISSTA 2018
CountryNetherlands
CityAmsterdam
Period16/07/1821/07/18
Internet address

Keywords

  • Android
  • API-related Compatibility Issue
  • CiD
  • Framework Base

Cite this

Li, L., Bissyandé, T. F., Wang, H., & Klein, J. (2018). CiD: automating the detection of API-related compatibility issues in Android apps. In F. Tip, & E. Bodden (Eds.), ISSTA'18 - Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis: July 16–21, 2018 Amsterdam, Netherlands (pp. 153-163). New York NY USA: Association for Computing Machinery (ACM). https://doi.org/10.1145/3213846.3213857
Li, Li ; Bissyandé, Tegawendé F. ; Wang, Haoyu ; Klein, Jacques. / CiD : automating the detection of API-related compatibility issues in Android apps. ISSTA'18 - Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis: July 16–21, 2018 Amsterdam, Netherlands. editor / Frank Tip ; Eric Bodden. New York NY USA : Association for Computing Machinery (ACM), 2018. pp. 153-163
@inproceedings{3bec525539fd4da18c03866c9cf7ed81,
title = "CiD: automating the detection of API-related compatibility issues in Android apps",
abstract = "The Android Application Programming Interface provides the necessary building blocks for app developers to harness the functionalities of the Android devices, including for interacting with services and accessing hardware. This API thus evolves rapidly to meet new requirements for security, performance and advanced features, creating a race for developers to update apps. Unfortunately, given the extent of the API and the lack of automated alerts on important changes, Android apps are suffered from API-related compatibility issues. These issues can manifest themselves as runtime crashes creating a poor user experience. We propose in this paper an automated approach named CiD for systematically modelling the lifecycle of the Android APIs and analysing app bytecode to flag usages that can lead to potential compatibility issues.We demonstrate the usefulness of CiD by helping developers repair their apps, and we validate that our tool outperforms the state-of-the-art on benchmark apps that take into account several challenges for automatic detection.",
keywords = "Android, API-related Compatibility Issue, CiD, Framework Base",
author = "Li Li and Bissyand{\'e}, {Tegawend{\'e} F.} and Haoyu Wang and Jacques Klein",
year = "2018",
doi = "10.1145/3213846.3213857",
language = "English",
pages = "153--163",
editor = "Frank Tip and Eric Bodden",
booktitle = "ISSTA'18 - Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis",
publisher = "Association for Computing Machinery (ACM)",
address = "United States of America",

}

Li, L, Bissyandé, TF, Wang, H & Klein, J 2018, CiD: automating the detection of API-related compatibility issues in Android apps. in F Tip & E Bodden (eds), ISSTA'18 - Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis: July 16–21, 2018 Amsterdam, Netherlands. Association for Computing Machinery (ACM), New York NY USA, pp. 153-163, International Symposium on Software Testing and Analysis 2018, Amsterdam, Netherlands, 16/07/18. https://doi.org/10.1145/3213846.3213857

CiD : automating the detection of API-related compatibility issues in Android apps. / Li, Li; Bissyandé, Tegawendé F.; Wang, Haoyu; Klein, Jacques.

ISSTA'18 - Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis: July 16–21, 2018 Amsterdam, Netherlands. ed. / Frank Tip; Eric Bodden. New York NY USA : Association for Computing Machinery (ACM), 2018. p. 153-163.

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

TY - GEN

T1 - CiD

T2 - automating the detection of API-related compatibility issues in Android apps

AU - Li, Li

AU - Bissyandé, Tegawendé F.

AU - Wang, Haoyu

AU - Klein, Jacques

PY - 2018

Y1 - 2018

N2 - The Android Application Programming Interface provides the necessary building blocks for app developers to harness the functionalities of the Android devices, including for interacting with services and accessing hardware. This API thus evolves rapidly to meet new requirements for security, performance and advanced features, creating a race for developers to update apps. Unfortunately, given the extent of the API and the lack of automated alerts on important changes, Android apps are suffered from API-related compatibility issues. These issues can manifest themselves as runtime crashes creating a poor user experience. We propose in this paper an automated approach named CiD for systematically modelling the lifecycle of the Android APIs and analysing app bytecode to flag usages that can lead to potential compatibility issues.We demonstrate the usefulness of CiD by helping developers repair their apps, and we validate that our tool outperforms the state-of-the-art on benchmark apps that take into account several challenges for automatic detection.

AB - The Android Application Programming Interface provides the necessary building blocks for app developers to harness the functionalities of the Android devices, including for interacting with services and accessing hardware. This API thus evolves rapidly to meet new requirements for security, performance and advanced features, creating a race for developers to update apps. Unfortunately, given the extent of the API and the lack of automated alerts on important changes, Android apps are suffered from API-related compatibility issues. These issues can manifest themselves as runtime crashes creating a poor user experience. We propose in this paper an automated approach named CiD for systematically modelling the lifecycle of the Android APIs and analysing app bytecode to flag usages that can lead to potential compatibility issues.We demonstrate the usefulness of CiD by helping developers repair their apps, and we validate that our tool outperforms the state-of-the-art on benchmark apps that take into account several challenges for automatic detection.

KW - Android

KW - API-related Compatibility Issue

KW - CiD

KW - Framework Base

UR - http://www.scopus.com/inward/record.url?scp=85051520303&partnerID=8YFLogxK

U2 - 10.1145/3213846.3213857

DO - 10.1145/3213846.3213857

M3 - Conference Paper

SP - 153

EP - 163

BT - ISSTA'18 - Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis

A2 - Tip, Frank

A2 - Bodden, Eric

PB - Association for Computing Machinery (ACM)

CY - New York NY USA

ER -

Li L, Bissyandé TF, Wang H, Klein J. CiD: automating the detection of API-related compatibility issues in Android apps. In Tip F, Bodden E, editors, ISSTA'18 - Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis: July 16–21, 2018 Amsterdam, Netherlands. New York NY USA: Association for Computing Machinery (ACM). 2018. p. 153-163 https://doi.org/10.1145/3213846.3213857