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.
Mining Android App Usages for Generating Actionable GUI-Based Execution Scenarios
M. Vásquez,Martin White,Carlos Bernal-Cárdenas,Kevin Moran,D. Poshyvanyk
Published 2015 in 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories
ABSTRACT
PUBLICATION RECORD
- Publication year
2015
- Venue
2015 IEEE/ACM 12th Working Conference on Mining Software Repositories
- Publication date
2015-05-16
- Fields of study
Computer Science
- Identifiers
- External record
- Source metadata
Semantic Scholar
CITATION MAP
EXTRACTION MAP
CLAIMS
CONCEPTS
- actionable execution scenarios
Execution sequences that are feasible and fully replayable on the target app.
Aliases: fully replayable scenarios, execution scenarios
- execution traces
Recorded sequences of app events collected from real user interactions with the Android app.
Aliases: event traces
- google nexus 7 tablets
The Android tablet hardware used as the execution environment in the evaluation.
Aliases: Nexus 7 tablets
- gui-based models
Models of Android app behavior derived from user interface interactions and event sequences.
Aliases: GUI models
- interactive execution on a real device
Validation of generated scenarios by running them interactively on physical Android hardware.
Aliases: interactive validation, real device execution
- monkeylab
A hybrid approach for mining Android app usage models and generating executable GUI scenarios.
Aliases: hybrid approach
- open-source android apps
Publicly available Android applications used as case-study subjects for evaluation.
Aliases: open-source apps
- record→mine→generate→validate framework
A workflow that records app usage, mines traces, generates scenarios, and validates them interactively.
Aliases: Record-Mine-Generate-Validate framework, RMGV
- static and dynamic analyses
Program analyses applied to app code and runtime behavior to support scenario generation.
Aliases: static analysis and dynamic analysis, static analysis, dynamic analysis
- statistical language modeling
A modeling technique used to generate event sequences from learned usage patterns.
Aliases: language modeling
REFERENCES
Showing 1-41 of 41 references · Page 1 of 1