Hawkeye: Change-targeted Testing for Android Apps based on Deep Reinforcement Learning
Chao Peng, Zhengwei Lv, Jiarong Fu, Jiayuan Liang, Zhao Zhang, Ajitha, Rajan, Ping Yang

TL;DR
Hawkeye is a deep reinforcement learning-based tool that prioritizes testing of code changes in Android apps, improving efficiency and effectiveness over existing methods, especially for large and complex applications.
Contribution
This paper introduces Hawkeye, a novel directed testing approach using deep reinforcement learning to focus on changed app components, outperforming existing tools in targeted GUI event generation.
Findings
Hawkeye reliably targets changed functions in testing.
Hawkeye performs comparably on small apps and better on large apps.
Industrial deployment shows Hawkeye is effective for smoke testing in real pipelines.
Abstract
Android Apps are frequently updated to keep up with changing user, hardware, and business demands. Ensuring the correctness of App updates through extensive testing is crucial to avoid potential bugs reaching the end user. Existing Android testing tools generate GUI events focussing on improving the test coverage of the entire App rather than prioritising updates and its impacted elements. Recent research has proposed change-focused testing but relies on random exploration to exercise the updates and impacted GUI elements that is ineffective and slow for large complex Apps with a huge input exploration space. We propose directed testing of App updates with Hawkeye that is able to prioritise executing GUI actions associated with code changes based on deep reinforcement learning from historical exploration data. Our empirical evaluation compares Hawkeye with state-of-the-art model-based…
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 · Software System Performance and Reliability · Green IT and Sustainability
