Skip to main content

Inferring User Interface Patterns from Execution Traces of Web Applications

  • Conference paper
Book cover Computational Science and Its Applications – ICCSA 2014 (ICCSA 2014)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8583))

Included in the following conference series:

Abstract

This paper presents a dynamic reverse engineering approach to extract User Interface (UI) Patterns from existent Web Applications. Firstly, information related to user interaction is saved, in particular: user actions and parameters; the HTML source pages; and the URLs. Secondly, the collected information is analysed in order to calculate several metrics (e.g., the differences between subsequent HTML pages). Thirdly, the existent UI Patterns are inferred from the overall information calculated based on a set of heuristic rules. The overall reverse engineering approach is evaluated with some experiments over several public Web Applications.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Amalfitano, D.: Rich Internet Application Testing Using Execution Trace Data. In: Third International Conference on Software Testing, Verification, and Validation Workshops, pp. 274–283 (2010)

    Google Scholar 

  2. Andjelkovic, I., Artho, C.: Trace Server: A tool for storing, querying and analyzing execution traces. In: JPF Workshop (2011)

    Google Scholar 

  3. Brin, S.: Extracting patterns and relations from the world wide web. In: Atzeni, P., Mendelzon, A.O., Mecca, G. (eds.) WebDB 1998. LNCS, vol. 1590, pp. 172–183. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  4. Chang, C.H., Hsu, C.N., Lui, S.C.: Automatic information extraction from semi-structured Web-pages by pattern discovery. Decision Support Systems Journal 35, 129–147 (2003)

    Article  Google Scholar 

  5. Chikofsky, E.J., Cross, J.H.: Reverse engineering and design recovery: a taxonomy. IEEE Software Journal 7(1), 13–17 (1990)

    Article  Google Scholar 

  6. Constantine, L.L., Lockwood, L.A.D.: Usage-centered engineering for Web applications. IEEE Software Journal 19(2), 42–50 (2002)

    Article  Google Scholar 

  7. Di Penta, M.: Integrating static and dynamic analysis to improve the comprehension of existing Web applications. In: Proceedings of 7th IEEE International Symposium on Web Site Evolution, pp. 87–94 (2005)

    Google Scholar 

  8. Duarte, L.M., Kramer, J., Uchitel, S.: Model extraction using context information. In: Wang, J., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 380–394. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. eBizMba. Top 15 most popular Websites, http://www.ebizmba.com/articles/most-popular-Websites (accessed June 2013)

  10. Fischer, M., Oberleitner, J., Gall, H., Gschwind, T.: System evolution tracking through execution trace analysis. In: CSMR 2005, pp. 112–121 (2005)

    Google Scholar 

  11. Garrett, J.J.: Ajax: a new approach to Web applications (2006), http://www.adaptivepath.com/publications/essays/archives/000385.php

  12. Gheorghiu, G.: A look at Selenium. Better Software (October 2005)

    Google Scholar 

  13. Java-diff-utils. The DiffUtils library for computing diffs, applying patches, generating side-by-side view in Java, http://code.google.com/p/java-diff-utils/ (accessed June 2013)

  14. Monteiro, T., Paiva, A.: Pattern based gui testing modeling environment. In: Fourth International Workshop on TESTing Techniques & Experimentation Benchmarks for Event-Driven Software, TESTBEDS (2013)

    Google Scholar 

  15. Moreira, R., Paiva, A., Memon, A.: A Pattern-Based Approach for GUI Modeling and Testing. In: Proceedings of the 24th Annual International Symposium on Software Reliability Engineering (ISSRE 2013) (2013)

    Google Scholar 

  16. Morgado, I.C., Paiva, A.C.R., Faria, J.P., Camacho, R.: GUI reverse engineering with machine learning. In: 2012 First International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering (RAISE), pp. 27–31 (June 2012)

    Google Scholar 

  17. Morgado, I.C., Paiva, A., Faria, J.P.: Dynamic Reverse Engineering of Graphical User Interfaces. International Journal on Advances in Software 5, 223–235 (2012)

    Google Scholar 

  18. Morgado, I.C., Paiva, A., Faria, J.P.: Reverse Engineering of Graphical User Interfaces. In: The Sixth International Conference on Software Engineering Advances, Barcelona, pp. 293–298 (2011)

    Google Scholar 

  19. Nabuco, M., Paiva, A., Camacho, R., Faria, J.: Inferring UI patterns with inductive logic programming. In: 8th Iberian Conference on Informations Systems and Technologies (CISTI) (2013)

    Google Scholar 

  20. Grilo, A.M.P., Paiva, A.C.R., Faria, J.P.: Reverse Engineering of GUI Models for Testing. In: 5th Iberian Conference on Information Systems and Technologies (CISTI), Santiago de Compostela, Spain (2010)

    Google Scholar 

  21. Neil, T.: 12 standard screen patterns, http://designingWebinterfaces.com/designing-Web-interfaces-12-screen-patterns (accessed June 2013)

  22. Pattenry. UI design patterns and library builder, http://paternry.com (accessed June 2013)

  23. Ricca, F., Tonella, P.: Understanding and restructuring Web sites with ReWeb. IEEE Multimedia 8, 40–51 (2001)

    Article  Google Scholar 

  24. Roest, D.: Automated Regression Testing of Ajax Web Applications. Faculty EEMCS, Delft University of Technology Msc thesis (2010)

    Google Scholar 

  25. Steven, J., Ch, P., Fleck, B., Podgurski, A.: jRapture: A capture/replay tool for observation-based testing. In: Proceedings of the International Symposium on Software Testing and Analysis, pp. 158–167. ACM Press (2000)

    Google Scholar 

  26. Toxboe, A.: UI patterns - user interface design pattern library, http://ui-patterns.com (accessed June 2013)

  27. Welie, M., Gerrit, C., Eliens, A.: Patterns as tools for user interface design. In: Workshop on Tools for Working With Guidelines, Biarritz, France (2000)

    Google Scholar 

  28. W3C Wiki. Creating multiple pages with navigation menus, http://www.w3.org/wiki/Creating_multiple_pages_with_navigation_menus (accessed June 2013)

  29. van Welie, M.: Interaction design pattern library (2013), http://www.welie.com/patterns/ (accessed June 2013)

  30. Silva, J.C., Silva, C., Gonçalo, R.D., Saraiva, J., Campos, J.C.: The GUISurfer tool: towards a language independent approach to reverse engineering GUI code. In: Proceedings of the 2nd ACM SIGCHI Symposium on Engineering Interactive Computing Systems (2010)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Nabuco, M., Paiva, A.C.R., Faria, J.P. (2014). Inferring User Interface Patterns from Execution Traces of Web Applications. In: Murgante, B., et al. Computational Science and Its Applications – ICCSA 2014. ICCSA 2014. Lecture Notes in Computer Science, vol 8583. Springer, Cham. https://doi.org/10.1007/978-3-319-09156-3_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-09156-3_23

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-09155-6

  • Online ISBN: 978-3-319-09156-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics