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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Andjelkovic, I., Artho, C.: Trace Server: A tool for storing, querying and analyzing execution traces. In: JPF Workshop (2011)
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)
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)
Chikofsky, E.J., Cross, J.H.: Reverse engineering and design recovery: a taxonomy. IEEE Software Journal 7(1), 13–17 (1990)
Constantine, L.L., Lockwood, L.A.D.: Usage-centered engineering for Web applications. IEEE Software Journal 19(2), 42–50 (2002)
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)
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)
eBizMba. Top 15 most popular Websites, http://www.ebizmba.com/articles/most-popular-Websites (accessed June 2013)
Fischer, M., Oberleitner, J., Gall, H., Gschwind, T.: System evolution tracking through execution trace analysis. In: CSMR 2005, pp. 112–121 (2005)
Garrett, J.J.: Ajax: a new approach to Web applications (2006), http://www.adaptivepath.com/publications/essays/archives/000385.php
Gheorghiu, G.: A look at Selenium. Better Software (October 2005)
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)
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)
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)
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)
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)
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)
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)
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)
Neil, T.: 12 standard screen patterns, http://designingWebinterfaces.com/designing-Web-interfaces-12-screen-patterns (accessed June 2013)
Pattenry. UI design patterns and library builder, http://paternry.com (accessed June 2013)
Ricca, F., Tonella, P.: Understanding and restructuring Web sites with ReWeb. IEEE Multimedia 8, 40–51 (2001)
Roest, D.: Automated Regression Testing of Ajax Web Applications. Faculty EEMCS, Delft University of Technology Msc thesis (2010)
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)
Toxboe, A.: UI patterns - user interface design pattern library, http://ui-patterns.com (accessed June 2013)
Welie, M., Gerrit, C., Eliens, A.: Patterns as tools for user interface design. In: Workshop on Tools for Working With Guidelines, Biarritz, France (2000)
W3C Wiki. Creating multiple pages with navigation menus, http://www.w3.org/wiki/Creating_multiple_pages_with_navigation_menus (accessed June 2013)
van Welie, M.: Interaction design pattern library (2013), http://www.welie.com/patterns/ (accessed June 2013)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)