Author ORCID Identifier
Date Available
12-7-2021
Year of Publication
2020
Degree Name
Doctor of Philosophy (PhD)
Document Type
Doctoral Dissertation
College
Engineering
Department/School/Program
Computer Science
First Advisor
Dr. Tingting Yu
Abstract
The large demand of mobile devices creates significant concerns about the quality of mobile applications (apps). The corresponding increase in app complexity has made app testing and maintenance activities more challenging. During app development phase, developers need to test the app in order to guarantee its quality before releasing it to the market. During the deployment phase, developers heavily rely on bug reports to reproduce failures reported by users. Because of the rapid releasing cycle of apps and limited human resources, it is difficult for developers to manually construct test cases for testing the apps or diagnose failures from a large number of bug reports. However, existing automated test case generation techniques are ineffective in exploring most effective events that can quickly improve code coverage and fault detection capability. In addition, none of existing techniques can reproduce failures directly from bug reports. This dissertation provides a framework that employs artifact intelligence (AI) techniques to improve testing and debugging of mobile apps. Specifically, the testing approach employs a Q-network that learns a behavior model from a set of existing apps and the learned model can be used to explore and generate tests for new apps. The framework is able to capture the fine-grained details of GUI events (e.g., visiting times of events, text on the widgets) and use them as features that are fed into a deep neural network, which acts as the agent to guide the app exploration. The debugging approach focuses on automatically reproducing crashes from bug reports for mobile apps. The approach uses a combination of natural language processing (NLP), deep learning, and dynamic GUI exploration to synthesize event sequences with the goal of reproducing the reported crash.
Digital Object Identifier (DOI)
https://doi.org/10.13023/etd.2020.454
Funding Information
Name of the funder: National Science Foundation
Title: "CAREER: Testing Evolving Complex Software Systems"
Number: CCF-1652149
Year: 2017
Recommended Citation
Zhao, Yu, "Automated Testing and Bug Reproduction of Android Apps" (2020). Theses and Dissertations--Computer Science. 101.
https://uknowledge.uky.edu/cs_etds/101