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. We have developed ARES, the first Deep RL approach for black-box testing of Android apps. Experimental results show that it achieves higher coverage and fault revelation than the baselines. 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.

Andrea Romdhana is a first-year Ph.D. student in Computer Science in collaboration with Fondazione Bruno Kessler (FBK). He obtained a BSc in Computer Engineering at the University of Genoa in 2017 and an MSc in Robotics Engineering at the University of Genoa in 2019. He is now working under the supervision of prof. Alessio Merlo (UNIGE), prof. Paolo Tonella (USI), and prof. Mariano Ceccato (UNIVR). His research interests include Mobile Security and Security Testing.

More information and contacts

TEAMS - 2:30 PM - code to join the team: n25vdtt
Contact person:
Andrea Romdhana