Reinforcement Learning-Driven Test Generation for Android GUI Applications using Formal Specifications

11/13/2019
by   Yavuz Koroglu, et al.
0

There have been many studies on automated test generation for mobile Graphical User Interface (GUI) applications. These studies successfully demonstrate how to detect fatal exceptions and achieve high code and activity coverage with fully automated test generation engines. However, it is unclear how many GUI functions these engines manage to test. Furthermore, these engines implement only implicit test oracles. We propose Fully Automated Reinforcement LEArning-Driven Specification-Based Test Generator for Android (FARLEAD-Android). FARLEAD-Android accepts a GUI-level formal specification as a Linear-time Temporal Logic (LTL) formula. By dynamically executing the Application Under Test (AUT), it learns how to generate a test that satisfies the LTL formula using Reinforcement Learning (RL). The LTL formula does not just guide the test generation but also acts as a specified test oracle, enabling the developer to define automated test oracles for a wide variety of GUI functions by changing the formula. Our evaluation shows that FARLEAD-Android is more effective and achieves higher performance in generating tests for specified GUI functions than three known approaches, Random, Monkey, and QBEa. To the best of our knowledge, FARLEAD-Android is the first fully automated mobile GUI testing engine that uses formal specifications.

READ FULL TEXT

page 6

page 8

research
05/27/2021

AndroidEnv: A Reinforcement Learning Platform for Android

We introduce AndroidEnv, an open-source platform for Reinforcement Learn...
research
08/29/2017

ChimpCheck: Property-Based Randomized Test Generation for Interactive Apps

We consider the problem of generating relevant execution traces to test ...
research
09/21/2022

An Automatically Verified Prototype of the Android Permissions System

In a previous work De Luca and Luna presented formal specifications of i...
research
01/18/2018

CrashScope: A Practical Tool for Automated Testing of Android Applications

Unique challenges arise when testing mobile applications due to their pr...
research
01/02/2023

Test Reuse Based on Adaptive Semantic Matching across Android Mobile Applications

Automatic test generation can help verify and develop the behavior of mo...
research
06/14/2022

Specification sketching for Linear Temporal Logic

Virtually all verification and synthesis techniques assume that the form...
research
10/08/2020

Test4Enforcers: Test Case Generation for Software Enforcers

Software enforcers can be used to modify the runtime behavior of softwar...

Please sign up or login with your details

Forgot password? Click here to reset