Preview

Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)

Advanced search

Applying iterative dynamic analysis to programs with graphical user interface

https://doi.org/10.15514/ISPRAS-2017-29(1)-8

Abstract

This paper is dedicated to practical research in the field of automated testing and analysis of software that features a graphical user interface. Current tendencies in user interface development favour semi-automatic approaches that employ human experts to create and prepare test suites. The ever-increasing complexity of software leads to decreased effectiveness of these approaches, especially when one considers large amounts of computational resources available during development. We present a fully automatic approach to dynamic analysis of program graphical interfaces. Our approach is based on the open-source GUITAR tool, which we have identified among other industrial and academic tools as the one closest to full automation. While highly efficient, GUITAR nevertheless has certain drawbacks and limitations which might cause insufficient accuracy in modelling the graphical interface structure and its individual elements. In turn, these limitations lead to fragments of graphical interface not getting processed during analysis or cause incorrect (i.e. not reproducible in practice) test cases to be generated. Our contributions include a set of modifications: incremental graphical interface model generation, improved identification of graphical interface element attributes and side effects, and finally a test case generation algorithm that focuses on reaching unprocessed graphical interface elements to check their functionality and improve the model. We have tested our modifications on a set of open source projects originally checked by GUITAR developers and achieved positive results: increased precision of GUI structure model and theoretically can decrease number of inapplicable test cases. Finally, we discuss several potential improvements for future work, including, in particular, the use of dynamic symbolic execution methods.

About the Authors

M. K. Ermakov
Institute for System Programming of the Russian Academy of Sciences
Russian Federation


A. Y. Gerasimov
Institute for System Programming of the Russian Academy of Sciences
Russian Federation


D. O. Kutz
Institute for System Programming of the Russian Academy of Sciences
Russian Federation


A. A. Novikov
Institute for System Programming of the Russian Academy of Sciences
Russian Federation


References

1. Ranorex. http://www.ranorex.com/ [HTML]. Accessed at 10.10.2016

2. Abbot framework for automated testing of Java GUI components and programs. https://abbot.sourceforge.net. Accessed at 10.10.2016

3. Maveryx. https://sourceforge.net/projects/maveryx/ [HTML]. Accessed at 10.10.2016

4. Squish. https://www.froglogic.com/squish/ [HTML]. Accessed at 10.10.2016

5. Bao N. Nguyen, Bryan Robbins, Ishan Banerjee, Atif Memon. GUITAR: an innovative tool for automated testing of GUI-driven software. Automated software engineering, 2013, vol. 21(1), pp. 65-105.

6. Tomas H. Kormen, Charl'z I. Lejzerson, Ronal'd L. Rivest, Klifford Shtajn. Introduction to Algorithms, 2-e izd. M.:«Vil'jams», 2006. 1296 p. (in Russian)


Review

For citations:


Ermakov M.K., Gerasimov A.Y., Kutz D.O., Novikov A.A. Applying iterative dynamic analysis to programs with graphical user interface. Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS). 2017;29(1):119-134. (In Russ.) https://doi.org/10.15514/ISPRAS-2017-29(1)-8



Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)