A Large-scale Investigation of Semantically Incompatible APIs behind Compatibility Issues in Android Apps

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Pan, Shidong, Guo, Tianchen, Zhang, Lihong, Liu, Pei, Xing, Zhenchang, Sun, Xiaoyu
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866914849075757056
author Pan, Shidong
Guo, Tianchen
Zhang, Lihong
Liu, Pei
Xing, Zhenchang
Sun, Xiaoyu
author_facet Pan, Shidong
Guo, Tianchen
Zhang, Lihong
Liu, Pei
Xing, Zhenchang
Sun, Xiaoyu
contents Application Programming Interface (API) incompatibility is a long-standing issue in Android application development. The rapid evolution of Android APIs results in a significant number of API additions, removals, and changes between adjacent versions. Unfortunately, this high frequency of alterations may lead to compatibility issues, often without adequate notification to developers regarding these changes. Although researchers have proposed some work on detecting compatibility issues caused by changes in API signatures, they often overlook compatibility issues stemming from sophisticated semantic changes. In response to this challenge, we conducted a large-scale discovery of incompatible APIs in the Android Open Source Project (AOSP) by leveraging static analysis and pre-trained Large Language Models (LLMs) across adjacent versions. We systematically formulate the problem and propose a unified framework to detect incompatible APIs, especially for semantic changes. It's worth highlighting that our approach achieves a 0.83 F1-score in identifying semantically incompatible APIs in the Android framework. Ultimately, our approach detects 5,481 incompatible APIs spanning from version 4 to version 33. We further demonstrate its effectiveness in supplementing the state-of-the-art methods in detecting a broader spectrum of compatibility issues (+92.3%) that have been previously overlooked.
format Preprint
id arxiv_https___arxiv_org_abs_2406_17431
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle A Large-scale Investigation of Semantically Incompatible APIs behind Compatibility Issues in Android Apps
Pan, Shidong
Guo, Tianchen
Zhang, Lihong
Liu, Pei
Xing, Zhenchang
Sun, Xiaoyu
Software Engineering
Application Programming Interface (API) incompatibility is a long-standing issue in Android application development. The rapid evolution of Android APIs results in a significant number of API additions, removals, and changes between adjacent versions. Unfortunately, this high frequency of alterations may lead to compatibility issues, often without adequate notification to developers regarding these changes. Although researchers have proposed some work on detecting compatibility issues caused by changes in API signatures, they often overlook compatibility issues stemming from sophisticated semantic changes. In response to this challenge, we conducted a large-scale discovery of incompatible APIs in the Android Open Source Project (AOSP) by leveraging static analysis and pre-trained Large Language Models (LLMs) across adjacent versions. We systematically formulate the problem and propose a unified framework to detect incompatible APIs, especially for semantic changes. It's worth highlighting that our approach achieves a 0.83 F1-score in identifying semantically incompatible APIs in the Android framework. Ultimately, our approach detects 5,481 incompatible APIs spanning from version 4 to version 33. We further demonstrate its effectiveness in supplementing the state-of-the-art methods in detecting a broader spectrum of compatibility issues (+92.3%) that have been previously overlooked.
title A Large-scale Investigation of Semantically Incompatible APIs behind Compatibility Issues in Android Apps
topic Software Engineering
url https://arxiv.org/abs/2406.17431