一句话:提出通用实用的 Android 应用基于属性测试技术,含属性描述语言与两种探索策略,工具 Kea 发现大量功能缺陷。
该论文针对 Android 应用中非崩溃类功能缺陷难以通过人工和自动 GUI 测试发现的问题,提出一种通用且实用的基于属性的测试技术。方法包括:设计属性描述语言(PDL)以声明应用应满足的属性,并采用两种探索策略作为输入生成器来有效验证属性;实现为工具 Kea。作者在来自 8 个真实流行 Android 应用的 124 个历史缺陷上评估,表明 PDL 能描述这些缺陷所违反的全部应用属性。Kea 在两种探索策略下分别发现范围内 97 个历史缺陷中的 66 个(68.0%)和 92 个(94.8%),并在最新版本上发现 25 个新功能缺陷,均已确认且 21 个已修复。相比此前最优技术仅发现 13 个(13.4%)历史缺陷和 1 个新缺陷,表现出显著实用性。
Finding non-crashing functional bugs for Android apps is challenging for both manual testing and automated GUI testing techniques. This paper introduces and designs a general and practical testing technique based on the idea of property-based testing for finding such bugs. Specifically, our technique incorporates (1) a property description language (PDL) to allow specifying desired app properties, and (2) two exploration strategies as the input generators for effectively validating the properties. We implemented our technique as a tool named Kea and evaluated it on 124 historical bugs from eight real-world, popular Android apps. Our evaluation shows that our PDL can specify all the app properties violated by these historical bugs, demonstrating its generability for finding functional bugs. Kea successfully found 66 (68.0%) and 92 (94.8%) of the 97 historical bugs in scope under the two exploration strategies, demonstrating its practicability. Moreover, Kea found 25 new functional bugs on the latest versions of these eight apps, given the specified properties. To date, all these bugs have been confirmed, and 21 have been fixed. In comparison, prior state-of-the-art techniques found only 13 (13.4%) historical bugs and 1 new bug. We have made all the artifacts publicly available at https://github.com/ecnusse/Kea.
DOI 原文 ·
@inproceedings{paperbot8356,
title = {General and Practical Property-based Testing for Android Apps},
author = {Yiheng Xiong and Ting Su and Jue Wang and Jingling Sun and Geguang Pu and Zhendong Su},
booktitle = {ASE},
year = {2024},
doi = {10.1145/3691620.3694986}
}