Inferring User Interface Patterns from Execution Traces of Web Applications

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.

[1]  João Pascoal Faria,et al.  GUI reverse engineering with machine learning , 2012, 2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE).

[2]  João Saraiva,et al.  The GUISurfer tool: towards a language independent approach to reverse engineering GUI code , 2010, EICS '10.

[3]  Arie van Deursen,et al.  Regression Testing Ajax Applications: Coping with Dynamism , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

[4]  Rui Camacho,et al.  Inferring UI patterns with Inductive Logic Programming , 2013, 2013 8th Iberian Conference on Information Systems and Technologies (CISTI).

[5]  Massimiliano Di Penta,et al.  Integrating static and dynamic analysis to improve the comprehension of existing Web applications , 2005, Seventh IEEE International Symposium on Web Site Evolution.

[6]  Paolo Tonella,et al.  Understanding and Restructuring Web Sites with ReWeb , 2001, IEEE Multim..

[7]  João Pascoal Faria,et al.  Dynamic Reverse Engineering of Graphical User Interfaces , 2012 .

[8]  Gottfried Vossen,et al.  The World Wide Web and Databases , 2001, Lecture Notes in Computer Science.

[9]  Ana C. R. Paiva,et al.  Pattern Based GUI Testing Modeling Environment , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[10]  Larry L. Constantine,et al.  Usage-Centered Engineering for Web Applications , 2002, IEEE Softw..

[11]  Sebastián Uchitel,et al.  Model extraction using context information , 2006, MoDELS'06.

[12]  Cyrille Artho,et al.  Trace Server : A Tool for Storing, Querying and Analyzing Execution Traces , 2011 .

[13]  John Steven,et al.  jRapture: A Capture/Replay tool for observation-based testing , 2000, ISSTA '00.

[14]  D. Roest Automated Regression Testing of Ajax Web Applications , 2010 .

[15]  Porfirio Tramontana,et al.  Rich Internet Application Testing Using Execution Trace Data , 2010, 2010 Third International Conference on Software Testing, Verification, and Validation Workshops.

[16]  João Pascoal Faria,et al.  Reverse Engineering of Graphical User Interfaces , 2011, ICSEA 2011.

[17]  Chia-Hui Chang,et al.  Automatic information extraction from semi-structured Web pages by pattern discovery , 2003, Decis. Support Syst..

[18]  Ana C. R. Paiva,et al.  Reverse engineering of GUI models for testing , 2010, 5th Iberian Conference on Information Systems and Technologies.

[19]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[20]  Gerrit C. van der Veer,et al.  Patterns as Tools for User Interface Design , 2000, TFWWG.

[21]  Jesse James Garrett Ajax: A New Approach to Web Applications , 2007 .

[22]  Sergey Brin,et al.  Extracting Patterns and Relations from the World Wide Web , 1998, WebDB.

[23]  Harald C. Gall,et al.  System evolution tracking through execution trace analysis , 2005, 13th International Workshop on Program Comprehension (IWPC'05).

[24]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[25]  Ana C. R. Paiva,et al.  A pattern-based approach for GUI modeling and testing , 2013, 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE).

[26]  ChangChia-Hui,et al.  Automatic information extraction from semi-structured Web pages by pattern discovery , 2003 .