Deep Reinforcement Learning for Black-Box Testing of Android Apps

01/07/2021
by   Andrea Romdhana, et al.
0

The state space of Android apps is huge and its thorough exploration during testing remains a major challenge. In fact, 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 by 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 the 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, which include state of the art RL based tools, such as TimeMachine and Q-Testing. We also investigated qualitatively the reasons behind such performance 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.

READ FULL TEXT

page 9

page 18

page 19

research
09/04/2023

Hawkeye: Change-targeted Testing for Android Apps based on Deep Reinforcement Learning

Android Apps are frequently updated to keep up with changing user, hardw...
research
12/27/2018

Fine-grained Code Coverage Measurement in Automated Black-box Android Testing

Today, there are millions of third-party Android applications. Some of t...
research
02/17/2023

Columbus: Android App Testing Through Systematic Callback Exploration

With the continuous rise in the popularity of Android mobile devices, au...
research
05/31/2021

AppBuddy: Learning to Accomplish Tasks in Mobile Apps via Reinforcement Learning

Human beings, even small children, quickly become adept at figuring out ...
research
08/09/2018

Efficiently Manifesting Asynchronous Programming Errors in Android Apps

Android, the #1 mobile app framework, enforces the single-GUI-thread mod...
research
01/28/2022

Guided Bug Crush: Assist Manual GUI Testing of Android Apps via Hint Moves

Mobile apps are indispensable for people's daily life. Complementing wit...
research
01/29/2022

DeepRNG: Towards Deep Reinforcement Learning-Assisted Generative Testing of Software

Although machine learning (ML) has been successful in automating various...

Please sign up or login with your details

Forgot password? Click here to reset