ELEGANT: Towards Effective Location of Fragmentation-Induced Compatibility Issues for Android Apps

Abstract

Android fragmentation is a double-edged sword of the Android ecosystem. On the one hand, it promotes Android’s prevalence. On the other hand, the numerous combinations of various system versions, customized features, system drivers, and device models make it infeasible, if not impossible, for developers to exhaustively test their apps for potential compatibility issues. Previous research has proposed promising techniques for detecting these issues. However, they suffer from severe false positive problems due to their lack of third-party library detection or imprecise program analysis. In this paper, we present ELEGANT, an automated tool to effectively detect and locate fragmentation-induced compatibility issues for Android apps. ELEGANT exploits whitelist-enhanced or obfuscation-insensitive techniques to detect and alleviate the impact of third-party libraries on the analysis precision, and uses a three-step static detection algorithm to increase the precision of its program analysis. We experimentally evaluated ELEGANT with 22 real-world popular Android apps. The experimental results confirmed ELEGANT’s effectiveness on detecting and locating Android fragmentation-induced compatibility issues, as well as realizing an impressive reduction on false positives by around 70%.

Publication
In 25th Asia-Pacific Software Engineering Conference (APSEC)
Jue Wang
Jue Wang
Ph.D.

My research interests include program analisys, program testing, and Android app quality assurance.