Report Open Access

Deep Reinforcement Learning for Black-Box Testing of Android Apps

Romdhana, Andrea; Merlo, Alessio; Ceccato, Mariano; Tonella, Paolo

The state space of Android apps is huge, and its thorough exploration during testing remains a significant challenge. The best exploration strategy is highly dependent on the features of the app under test. Reinforcement Learning (RL) is a machine learning technique that learns the optimal strategy to solve a task by trial and error, guided by positive or negative reward, rather than explicit supervision. Deep RL is a recent extension of RL that takes advantage of the learning capabilities of neural networks. Such capabilities make Deep RL suitable for complex exploration spaces such as one of Android apps. However, state-of-the-art, publicly available tools only support basic, Tabular RL.

We have developed ARES, a Deep RL approach for black-box testing of Android apps. Experimental results show that it achieves higher coverage and fault revelation than the baselines, including state-of-the-art tools, such as TimeMachine and Q-Testing. We also investigated the reasons behind such performance qualitatively, and we have identified the key features of Android apps that make Deep RL particularly effective on them to be the presence of chained and blocking activities. Moreover, we have developed FATE to fine-tune the hyperparameters of Deep RL algorithms on simulated apps, since it is computationally expensive to fine-tune them on real apps.

Files (1.7 MB)
Name Size
TR-Precrime-2022-02.pdf
md5:1e8bb74bcf7b3836075ddf958d00786d
1.7 MB Download
33
33
views
downloads
All versions This version
Views 3333
Downloads 3333
Data volume 57.5 MB57.5 MB
Unique views 3131
Unique downloads 3131

Share

Cite as