Static window transition graphs for Android

This work develops a static analysis to create a model of the behavior of an Android application’s GUI. We propose the window transition graph (WTG), a model representing the possible GUI window sequences and their associated events and callbacks. A key component and contribution of our work is the...

Full description

Saved in:
Bibliographic Details
Published inAutomated software engineering Vol. 25; no. 4; pp. 833 - 873
Main Authors Yang, Shengqian, Wu, Haowei, Zhang, Hailong, Wang, Yan, Swaminathan, Chandrasekar, Yan, Dacong, Rountev, Atanas
Format Journal Article
LanguageEnglish
Published New York Springer US 01.12.2018
Springer Nature B.V
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:This work develops a static analysis to create a model of the behavior of an Android application’s GUI. We propose the window transition graph (WTG), a model representing the possible GUI window sequences and their associated events and callbacks. A key component and contribution of our work is the careful modeling of the stack of currently-active windows, the changes to this stack, and the effects of callbacks related to these changes. To the best of our knowledge, this is the first detailed study of this important static analysis problem for Android. We develop novel analysis algorithms for WTG construction and traversal, based on this modeling of the window stack. We also propose WTG extensions to handle certain aspects of asynchronous control flow. We describe an application of the WTG for GUI test generation, using path traversals. The evaluation of the proposed algorithms indicates their effectiveness and practicality.
ISSN:0928-8910
1573-7535
DOI:10.1007/s10515-018-0237-6