Kea is a general and practical testing tool based on the idea of property-based testing for finding functional bugs in mobile (GUI) apps. Kea currently supports Android and HarmonyOS.
📘 Kea's Paper @ ASE 2024 (ACM Distinguished Paper)
"General and Practical Property-based Testing for Android Apps". Yiheng Xiong, Ting Su, Jue Wang, Jingling Sun, Geguang Pu, Zhendong Su. In ASE 2024.
You can find more about our work on testing/analyzing mobile apps at this ECNU SE lab - mobile app analysis.
Prerequisites
- Python 3.9+
adb
orhdc
cmd tools available- Connect an Android / HarmonyOS device or emulator to your PC
The setup guide for Android / HarmonyOS envirnments.
Installation
Enter the following commands to install kea.
git clone https://github.com/ecnusse/Kea.git
cd Kea
pip install -e .
Quick Start
kea -f example/example_property.py -a example/omninotes.apk
The original authors of Kea are: Yiheng Xiong, Ting Su, Jue Wang, Jingling Sun, Geguang Pu, Zhendong Su.
Now we have additional active contributors: Xiangchen Shen, Xixian Liang, Mengqian Xu
Relevant References for Kea
📘 An Empirical Study of Functional Bugs in Android Apps. ISSTA 2023. pdf
📘 Property-Based Testing for Validating User Privacy-Related Functionalities in Social Media Apps. FSE 2024. pdf
📘 Property-Based Fuzzing for Finding Data Manipulation Errors in Android Apps. ESEC/FSE 2023. pdf
📘 Characterizing and Finding System Setting-Related Defects in Android Apps. TSE 2023. pdf
📘 Understanding and Finding System Setting-related Defects in Android Apps. ISSTA 2021. pdf