一句话:分析196个真实问题以归纳Android框架变更模式,并提出基于符号执行的CONFDROID自动抽取检测规则。
Android 的 XML 配置文件定义 UI 与运行时信息,但框架演化会在不同 API 级别引入配置兼容性问题,导致崩溃或外观不一致。现有工作用简易数据流分析,未建模 XML 树层级,误报漏报多,且对框架代码变更如何引发问题认识不足。本文分析 43 个流行应用中的 196 个真实问题,归纳 Android 框架代码变更的常见模式;据此提出 CONFDROID,基于从变更模式学习的模型进行符号执行,自动抽取问题检测规则。实验抽取 282 条有效规则,精度 91.9%;其中 65 条可发现基线规则无法发现的问题,11 条在 316 个真实应用中的 30 个里检出 107 个可复现配置兼容性问题。
XML configuration files are widely used in Android to define an app’s user interface and essential runtime information such as system permissions. As Android evolves, it might introduce functional changes in the configuration environment, thus causing compatibility issues that manifest as inconsistent app behaviors at different API levels. Such issues can often induce software crashes and inconsistent look-and-feel when running at specific Android versions. Existing works incur plenty of false positive and false negative issue-detection rules by conducting trivial data-flow analysis while failing to model the XML tree hierarchies of the Android configuration files. Besides, little is known about how the changes in an Android framework can induce such compatibility issues. To bridge such gaps, we conducted a systematic study by analyzing 196 real-world issues collected from 43 popular apps. We identified common patterns of Android framework code changes that induce such configuration compatibility issues. Based on the findings, we propose CONFDROID that can automatically extract rules for detecting configuration compatibility issues. The intuition is to perform symbolic execution based on a model learned from the common code change patterns. Experiment results show that CONFDROID can successfully extract 282 valid issue-detection rules with a precision of 91.9%. Among them, 65 extracted rules can manifest issues that cannot be detected by the rules of state-of-the-art baselines. More importantly, 11 out of them have led to the detection of 107 reproducible configuration compatibility issues that the baselines cannot detect in 30 out of 316 real-world Android apps.
DOI 原文 ·
@inproceedings{paperbot6582,
title = {Characterizing and Detecting Configuration Compatibility Issues in Android Apps},
author = {Huaxun Huang and Ming Wen and Lili Wei and Yepang Liu and Shing-Chi Cheung},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678556}
}