Intro (中文)
Kea is a general and practical testing tool based on the idea of property-based testing for finding functional (logic) bugs in mobile (GUI) apps. Kea currently supports Android and HarmonyOS.
📘 Kea's Paper @ ASE 2024 (won ACM Distinguished Paper Award!)
"General and Practical Property-based Testing for Android Apps". Yiheng Xiong, Ting Su, Jue Wang, Jingling Sun, Geguang Pu, Zhendong Su. In ASE 2024.
Find more about our work on testing/analyzing mobile apps: ECNU-SSE-Lab - Mobile App Analysis.
A list of literature on mobile app testing and analysis: Mobile App Analysis and Testing Literature.
Demonstration Video (In Chinese)
Prerequisites
- Python 3.8+
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
📘 General and Practical Property-based Testing for Android Apps. ASE 2024. pdf
📘 Property-Based Testing for Validating User Privacy-Related Functionalities in Social Media Apps. FSE 2024. pdf
📘 An Empirical Study of Functional Bugs in Android Apps. ISSTA 2023. 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