kirancodes.me
To Proof Maintenance & Beyond!
ASE 2024★ Distinguished Paper

General and Practical Property-based Testing for Android Apps

Yiheng Xiong, Ting Su, Jue Wang, Jingling Sun, Geguang Pu, Zhendong Su

Abstract

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.

BibTeX
@inproceedings{Xiong-al:ASE24,
  author    = {Yiheng Xiong and
               Ting Su and
               Jue Wang and
               Jingling Sun and
               Geguang Pu and
               Zhendong Su},
  title     = {General and Practical Property-based Testing for Android Apps},
  booktitle = {ASE},
  pages     = {53--64},
  publisher = {{ACM}},
  year      = {2024},
}

Related papers