A Large-scale Investigation of Semantically Incompatible APIs behind Compatibility Issues in Android Apps
Shidong Pan, Tianchen Guo, Lihong Zhang, Pei Liu, Zhenchang Xing,, Xiaoyu Sun

TL;DR
This paper presents a large-scale study on semantically incompatible APIs in Android, using static analysis and large language models to improve detection of compatibility issues across versions.
Contribution
It introduces a unified framework leveraging static analysis and LLMs to detect semantic API incompatibilities, significantly expanding the scope of previous methods.
Findings
Achieves 0.83 F1-score in detecting incompatible APIs.
Detects 5,481 incompatible APIs from Android versions 4 to 33.
Improves detection coverage by 92.3% over existing methods.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Malware Detection Techniques · Advanced Software Engineering Methodologies · Software System Performance and Reliability
