|
This article is cited in 2 scientific papers (total in 2 papers)
Dynamic analysis of programs with graphical user interface based on symbolic execution
S. P. Vartanov, A. Y. Gerasimov, M. K. Ermakov, D. O. Kutz, A. A. Novikov Institute for System Programming of the Russian Academy of Sciences
Abstract:
In this paper, we explore the possibilities of applying dynamic symbolic execution (or concolic testing) methods to applications with graphical user interfaces. Such applications inherently feature interactive user input processing and multithreaded execution. These features typically decrease the effectiveness of dynamic symbolic execution by increasing the volume of processed code not related to actual application functionality. We present a hybrid approach that combines commonly used GUI test automation methods based on GUI model excavation with dynamic symbolic execution methods to construct test cases for checking internal application logic. We have implemented this approach using two open-source tools - test automation framework GUITAR and Java byte-code static instrumentation framework Coffee Machine. GUI model extracted automatically by GUITAR tool is extended with symbolic traces relevant to application GUI event handlers. Our test generation module for GUITAR combines these symbolic traces into complex queries to be processed by SMT solver. The resulting test cases are valid within automatically extracted GUI structure model and allow to check different execution paths in GUI event handler code. We have checked our hybrid approach on a set of small open-source applications and identified several bugs caused by uncaught exceptions. The paper is concluded with an overview of current limitations and possible improvements of the hybrid approach.
Keywords:
dynamic analysis, program analysis, GUI testing, test coverage.
Citation:
S. P. Vartanov, A. Y. Gerasimov, M. K. Ermakov, D. O. Kutz, A. A. Novikov, “Dynamic analysis of programs with graphical user interface based on symbolic execution”, Proceedings of ISP RAS, 29:1 (2017), 149–166
Linking options:
https://www.mathnet.ru/eng/tisp106 https://www.mathnet.ru/eng/tisp/v29/i1/p149
|
Statistics & downloads: |
Abstract page: | 240 | Full-text PDF : | 152 | References: | 37 |
|