DinoDroid: Testing Android Apps Using Deep Q-Networks
Yu Zhao, Brent Harrison, Tingting Yu

TL;DR
DinoDroid leverages deep Q-networks to automate Android app testing, learning from existing apps to improve exploration, code coverage, and bug detection without pre-defined rules.
Contribution
It introduces a novel deep reinforcement learning approach for Android testing that captures detailed GUI features and adapts during exploration.
Findings
Outperforms existing tools in code coverage
Detects more bugs than baseline methods
Learns behavior models without pre-defined rules
Abstract
The large demand of mobile devices creates significant concerns about the quality of mobile applications (apps). Developers need to guarantee the quality of mobile apps before it is released to the market. There have been many approaches using different strategies to test the GUI of mobile apps. However, they still need improvement due to their limited effectiveness. In this paper, we propose DinoDroid, an approach based on deep Q-networks to automate testing of Android apps. DinoDroid 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. DinoDroid is able to capture the fine-grained details of GUI events (e.g., the content of GUI widgets) and use them as features that are fed into deep neural network, which acts as the agent to guide app exploration. DinoDroid automatically adapts the learned model during the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Advanced Malware Detection Techniques · Mobile and Web Applications
