Verification of GUI Applications: A Black-Box Approach

  • Stephan Arlt
  • Evren Ermis
  • Sergio Feo-Arenis
  • Andreas Podelski
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8802)

Abstract

In this paper, we propose to base the verification of a GUI application on a reference model used in black-box testing. The reference model is a formal model for the behavior of the GUI application. It is derived by dynamic analysis (hence “black-box”). Thus, it can be used to account for the graphical interface even when the GUI toolkit is not amenable to formal analysis or its source code is not available. We have implemented our approach; a preliminary case study indicates its feasibility in principle.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Arlt, S., Podelski, A., Bertolini, C., Schaef, M., Banerjee, I., Memon, A.M.: Lightweight Static Analysis for GUI Testing. In: ISSRE, pp. 301–310 (2012)Google Scholar
  2. 2.
    Arlt, S., Podelski, A., Wehrle, M.: Reducing GUI Test Suites via Program Slicing. In: ISSTA, pp. 270–281 (2014)Google Scholar
  3. 3.
    Arlt, S., Schäf, M.: Joogie: Infeasible Code Detection for Java. In: Madhusudan, P., Seshia, S.A. (eds.) CAV 2012. LNCS, vol. 7358, pp. 767–773. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  4. 4.
    Barnett, M., Chang, B.-Y.E., DeLine, R., Jacobs, B., M. Leino, K.R.: Boogie: A Modular Reusable Verifier for Object-Oriented Programs. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2005. LNCS, vol. 4111, pp. 364–387. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Belli, F.: Finite-State Testing and Analysis of Graphical User Interfaces. In: ISSRE, pp. 34–43 (2001)Google Scholar
  6. 6.
    Berstel, J., Crespi-Reghizzi, S., Roussel, G., Pietro, P.S.: A Scalable Formal Method for Design and Automatic Checking of User Interfaces. In: ICSE, pp. 453–462 (2001)Google Scholar
  7. 7.
    Clarke, E.M., Grumberg, O., Long, D.E.: Model Checking and Abstraction. In: POPL, pp. 342–354 (1992)Google Scholar
  8. 8.
    Cobleigh, J.M., Giannakopoulou, D., Păsăreanu, C.S.: Learning Assumptions for Compositional Verification. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 331–346. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. 9.
    Dijkstra, E.W.: Notes on Structured Programming. Circulated privately (April 1970)Google Scholar
  10. 10.
    Dwyer, M.B., Carr, V., Hines, L.: Model Checking Graphical User Interfaces Using Abstractions. In: ESEC / SIGSOFT FSE, pp. 244–261 (1997)Google Scholar
  11. 11.
    Dwyer, M.B., Tkachuk, O., Visser, W.: Analyzing Interaction Orderings with Model Checking. In: ASE, pp. 154–163 (2004)Google Scholar
  12. 12.
    Feo-Arenis, S.: Evaluation of a Data Structure Invariant Generation Technique. Master’s thesis, University of Freiburg (March 2010)Google Scholar
  13. 13.
    Ganov, S., Killmar, C., Khurshid, S., Perry, D.E.: Event Listener Analysis and Symbolic Execution for Testing GUI Applications. In: Breitman, K., Cavalcanti, A. (eds.) ICFEM 2009. LNCS, vol. 5885, pp. 69–87. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Gross, F., Fraser, G., Zeller, A.: Search-based system testing: high coverage, no false alarms. In: ISSTA, pp. 67–77 (2012)Google Scholar
  15. 15.
    Heizmann, M., Christ, J., Dietsch, D., Ermis, E., Hoenicke, J., Lindenmann, M., Nutz, A., Schilling, C., Podelski, A.: Ultimate Automizer with SMTInterpol. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013 (ETAPS 2013). LNCS, vol. 7795, pp. 641–643. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  16. 16.
    Huang, S., Cohen, M.B., Memon, A.M.: Repairing GUI Test Suites Using a Genetic Algorithm. In: ICST, Paris, France (April 2010)Google Scholar
  17. 17.
    Lindholm, T., Yellin, F.: Java Virtual Machine Specification, 2nd edn. Addison-Wesley Longman Publishing Co., Inc., Boston (1999)Google Scholar
  18. 18.
    Mariani, L., Pezzè, M., Riganelli, O., Santoro, M.: AutoBlackTest: Automatic Black-Box Testing of Interactive Applications. In: ICST, pp. 81–90 (2012)Google Scholar
  19. 19.
    McMaster, S., Memon, A.M.: Call-Stack Coverage for GUI Test-Suite Reduction. IEEE Trans. Softw. Eng. (2008)Google Scholar
  20. 20.
    Memon, A.M.: An event-flow model of GUI-based applications for testing. Softw. Test., Verif. Reliab. 17(3), 137–157 (2007)MathSciNetCrossRefGoogle Scholar
  21. 21.
    Memon, A.M., Banerjee, I., Nagarajan, A.: GUI Ripping: Reverse Engineering of Graphical User Interfaces for Testing. In: WCRE, pp. 260–269 (2003)Google Scholar
  22. 22.
    Memon, A.M., Pollack, M.E., Soffa, M.L.: Using a Goal-Driven Approach to Generate Test Cases for GUIs. In: ICSE, pp. 257–266 (1999)Google Scholar
  23. 23.
    Memon, A.M., Pollack, M.E., Soffa, M.L.: Hierarchical GUI Test Case Generation Using Automated Planning. IEEE Trans. Software Eng. 27(2), 144–155 (2001)CrossRefGoogle Scholar
  24. 24.
    Paiva, A.C.R., Faria, J.C.P., Mendes, P.M.C.: Reverse Engineered Formal Models for GUI Testing. In: Leue, S., Merino, P. (eds.) FMICS 2007. LNCS, vol. 4916, pp. 218–233. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  25. 25.
    Raffelt, H., Merten, M., Steffen, B., Margaria, T.: Dynamic testing via automata learning. STTT 11(4), 307–324 (2009)CrossRefGoogle Scholar
  26. 26.
    White, L.J., Almezen, H.: Generating Test Cases for GUI Responsibilities Using Complete Interaction Sequences. In: ISSRE, pp. 110–123 (2000)Google Scholar
  27. 27.
    Windmüller, S., Neubauer, J., Steffen, B., Howar, F., Bauer, O.: Active continuous quality control. In: CBSE, pp. 111–120 (2013)Google Scholar
  28. 28.
    Yuan, X., Cohen, M.B., Memon, A.M.: Covering array sampling of input event sequences for automated gui testing. In: ASE, pp. 405–408 (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Stephan Arlt
    • 1
  • Evren Ermis
    • 1
  • Sergio Feo-Arenis
    • 1
  • Andreas Podelski
    • 1
  1. 1.University of FreiburgFreiburgGermany

Personalised recommendations