Reinforcement learning based curiosity-driven testing of Android applications

M Pan, A Huang, G Wang, T Zhang, X Li - Proceedings of the 29th ACM …, 2020 - dl.acm.org
M Pan, A Huang, G Wang, T Zhang, X Li
Proceedings of the 29th ACM SIGSOFT International Symposium on Software …, 2020dl.acm.org
Mobile applications play an important role in our daily life, while it still remains a challenge
to guarantee their correctness. Model-based and systematic approaches have been applied
to Android GUI testing. However, they do not show significant advantages over random
approaches because of limitations such as imprecise models and poor scalability. In this
paper, we propose Q-testing, a reinforcement learning based approach which benefits from
both random and model-based approaches to automated testing of Android applications. Q …
Mobile applications play an important role in our daily life, while it still remains a challenge to guarantee their correctness. Model-based and systematic approaches have been applied to Android GUI testing. However, they do not show significant advantages over random approaches because of limitations such as imprecise models and poor scalability. In this paper, we propose Q-testing, a reinforcement learning based approach which benefits from both random and model-based approaches to automated testing of Android applications. Q-testing explores the Android apps with a curiosity-driven strategy that utilizes a memory set to record part of previously visited states and guides the testing towards unfamiliar functionalities. A state comparison module, which is a neural network trained by plenty of collected samples, is novelly employed to divide different states at the granularity of functional scenarios. It can determine the reinforcement learning reward in Q-testing and help the curiosity-driven strategy explore different functionalities efficiently. We conduct experiments on 50 open-source applications where Q-testing outperforms the state-of-the-art and state-of-practice Android GUI testing tools in terms of code coverage and fault detection. So far, 22 of our reported faults have been confirmed, among which 7 have been fixed.
ACM Digital Library
Showing the best result for this search. See all results