Mining Android App Usages for Generating Actionable GUI-Based Execution Scenarios

Mining Android App Usages for Generating Actionable GUI-Based Execution Scenarios
复制标题

DOI:
10.1109/msr.2015.18
复制
发表时间:
2015-05
期刊:
2015 IEEE/ACM 12th Working Conference on Mining Software Repositories
影响因子:
--
通讯作者:
M. Vásquez;Martin White;Carlos Bernal-Cárdenas;Kevin Moran;D. Poshyvanyk
M. Vásquez;Martin White;Carlos Bernal-Cárdenas;Kevin Moran;D. Poshyvanyk
中科院分区:
其他
文献类型:
--
作者:
M. Vásquez;Martin White;Carlos Bernal-Cárdenas;Kevin Moran;D. Poshyvanyk

文献摘要

被引文献

相似文献

从Android应用程序执行跟踪、事件或源代码中提取的基于图形用户界面的模型对于具有挑战性的任务非常有用,例如生成场景或测试用例。然而,提取有效的模型可能是一个昂贵的过程。此外,用于自动派生基于图形用户界面的模型的现有方法不能生成包括在执行(或事件)跟踪中未观察到的事件的场景。在这篇文章中,我们解决了这些和我们的新的混合方法中的其他主要挑战,被称为MONKEYLAB。我们的方法基于Record→More→生成→验证框架,该框架依赖于记录产生执行(事件)跟踪的应用程序使用情况,挖掘这些事件跟踪并使用统计语言建模、静态和动态分析生成执行场景,并使用应用程序在真实设备上的交互执行来验证生成的场景。该框架旨在挖掘能够生成可行且完全可重放(即,可操作)的场景的模型,该场景反映给定应用程序的自然用户行为或不常见的使用情况(例如,角落情况)。我们在一个案例研究中对MONKEYLAB进行了评估,其中涉及几个大中型开源Android应用程序。我们的结果表明,MONKEYLAB能够挖掘基于图形用户界面的模型,这些模型可以用来为Google Nexus 7平板电脑上的自然和非自然事件序列生成可行的执行场景。
GUI-based models extracted from Android app execution traces, events, or source code can be extremely useful for challenging tasks such as the generation of scenarios or test cases. However, extracting effective models can be an expensive process. Moreover, existing approaches for automatically deriving GUI-based models are not able to generate scenarios that include events which were not observed in execution (nor event) traces. In this paper, we address these and other major challenges in our novel hybrid approach, coined as MONKEYLAB. Our approach is based on the Record→Mine→Generate→Validate framework, which relies on recording app usages that yield execution (event) traces, mining those event traces and generating execution scenarios using statistical language modeling, static and dynamic analyses, and validating the resulting scenarios using an interactive execution of the app on a real device. The framework aims at mining models capable of generating feasible and fully replayable (i.e., actionable) scenarios reflecting either natural user behavior or uncommon usages (e.g., corner cases) for a given app. We evaluated MONKEYLAB in a case study involving several medium-to-large open-source Android apps. Our results demonstrate that MONKEYLAB is able to mine GUI-based models that can be used to generate actionable execution scenarios for both natural and unnatural sequences of events on Google Nexus 7 tablets.