论文标题
DICHODORID:使用深Q-Networks测试Android应用
DinoDroid: Testing Android Apps Using Deep Q-Networks
论文作者
论文摘要
移动设备的巨大需求对移动应用程序(应用程序)的质量引起了重大关注。开发人员需要在将其发布到市场之前保证其质量。有许多方法使用不同的策略来测试移动应用程序的GUI。但是,由于有限的有效性,它们仍然需要改进。在本文中,我们提出了狄德剂,这是一种基于深Q-NETWORKS的方法来自动化Android应用程序的测试。 Dinodroid从一组现有应用程序中学习了行为模型,并且可以使用该模型来探索和生成新应用程序的测试。 Dinodroid能够捕获GUI事件的细颗粒细节(例如GUI小部件的内容),并将其用作被馈入深神经网络的功能,该功能充当指导应用程序探索的代理。狄德龙在探索过程中会自动调整学习模型,而无需任何建模策略或预定义的规则。我们在64个开源Android应用程序上进行实验。结果表明,在代码覆盖范围和错误检测方面,折叠优于现有的Android测试工具。
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 exploration without the need of any modeling strategies or pre-defined rules. We conduct experiments on 64 open-source Android apps. The results showed that DinoDroid outperforms existing Android testing tools in terms of code coverage and bug detection.