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.
You can also try Kea2, an enhanced and more powerful version of Kea for industrial use.
📘 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
Note: The LLM module is currently in an experimental phase. We are actively gathering feedback to improve its functionality and stability. We appreciate your understanding and support from the community, and we welcome any suggestions or comments.
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
📘 Fully Automated Functional Fuzzing of Android Apps for Detecting Non-Crashing Logic Bugs. OOPSLA 2021. pdf