Lightweight Static Analysis for GUI Testing

Download: PDF.

“Lightweight Static Analysis for GUI Testing” by Stephan Arlt, Andreas Podelski, Cristiano Bertolini, Martin Schaf, Ishan Banerjee. And Atif Memon, in ISSRE'12 Proceedings of the 23rd IEEE International Symposium on Software Reliability Engineering, (Washington, DC, USA), 2012.


GUI testing is an active research area. The open challenge is the judicious generation of event sequences (an event sequence encodes a user interaction). A major advance in this direction is the use of a black-box model to systematically generate event sequences that are executable on the GUI. The black-box model can be, e.g., an Event Flow Graph (EFG) or an Event Sequence Graph (ESG). In this paper we propose a new approach to select relevant event sequences among the event sequences generated by a black-box model. We express the relevance of an event sequence by a precisely defined dependency between a fixed number of events in the event sequence. Departing from a pure black-box approach we apply a static analysis to the byte code of the application. This allows us to infer a dependency graph, which we call Event Dependency Graph (EDG). We use the EDG together with a black-box model to construct a set of relevant event sequences among the executable ones. We have implemented our approach in a new tool. We evaluate the approach on four open source GUI applications. With the specific choice of a lightweight static analysis, the approach scales to large applications and, at the same time, leads to an informed selection of event sequences. Using our approach we are able to find previously undetected bugs.

Download: PDF.

BibTeX entry:

   author = {Stephan Arlt and Andreas Podelski and Cristiano Bertolini and
	Martin Schaf and Ishan Banerjee and Atif Memon},
   title = {Lightweight Static Analysis for GUI Testing},
   booktitle = {ISSRE'12 Proceedings of the 23rd IEEE International
	Symposium on Software Reliability Engineering},
   publisher = {IEEE Computer Society},
   address = {Washington, DC, USA},
   year = {2012}

Back to Atif Memon's Publications.