Re-engineering graphical user interfaces from their resource files with UsiResourcer

This paper addresses the problem of modernizing graphical user interfaces of interactive applications by re-engineering their resource files in four phases: resource decompilation, which extracts resource files from the executable code of an interactive application; modeling the source user interface, which transforms extracted resources into a resource model; resource to user interface transformation, which transforms the resource model into a Concrete User Interface model, and forward engineering, which offers two alternatives: after editing the user interface model, a new interface could be generated or recompiled into a resource to be incorporated back. The paper motivates and details this re-engineering approach by focusing on methods and algorithms implemented in UsiResourcer, a software tool that reverse engineers MS Windows resource files into a Concrete User Interface Model for further process. A discussion on the generalization of the approach is also provided.

[1]  WegnerPeter Why interaction is more powerful than algorithms , 1997 .

[2]  GrafiXML, a Multi-target User Interface Builder Based on UsiXML , 2008, Fourth International Conference on Autonomic and Autonomous Systems (ICAS'08).

[3]  Fabio Paternò,et al.  Reverse Engineering Cross-Modal User Interfaces for Ubiquitous Environments , 2007, EHCI/DS-VIS.

[4]  Jesús Sánchez Cuadrado,et al.  Reverse Engineering of Event Handlers of RAD-Based Applications , 2011, 2011 18th Working Conference on Reverse Engineering.

[5]  Jean Vanderdonckt,et al.  A Unifying Reference Framework for multi-target user interfaces , 2003, Interact. Comput..

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

[7]  J. Vanderdonckt,et al.  Reverse engineering of Web pages based on derivations and transformations , 2005, Third Latin American Web Congress (LA-WEB'2005).

[8]  Peter Wegner,et al.  Why interaction is more powerful than algorithms , 1997, CACM.

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

[10]  Jesús Sánchez Cuadrado,et al.  Model-driven reverse engineering of legacy graphical user interfaces , 2010, Automated Software Engineering.

[11]  Fabio Paternò,et al.  Automatic reverse engineering of interactive dynamic web applications to support adaptation across platforms , 2012, IUI '12.

[12]  Jean Vanderdonckt,et al.  Retargeting Web pages to other computing platforms with VAQUITA , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[13]  Gerardo Canfora,et al.  A wrapping approach for migrating legacy system interactive functionalities to Service Oriented Architectures , 2008, J. Syst. Softw..

[14]  Gerardo Canfora,et al.  Achievements and challenges in software reverse engineering , 2011, Commun. ACM.

[15]  Eugenio Zimeo,et al.  Reversing GUIs to XIML descriptions for the adaptation to heterogeneous devices , 2007, SAC '07.

[16]  Morgan Dixon,et al.  Content and hierarchy in pixel-based methods for reverse engineering interface structure , 2011, CHI.

[17]  Eleni Stroulia,et al.  Swing2Script: Migration of Java-Swing Applications to Ajax Web Applications , 2007, 14th Working Conference on Reverse Engineering (WCRE 2007).

[18]  Fabio Paternò,et al.  Automatic reconstruction of the underlying interaction design of web applications , 2002, SEKE '02.

[19]  Paolo Tonella,et al.  Reverse engineering of the interaction diagrams from C++ code , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

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

[21]  Eleni Stroulia,et al.  Reverse engineering legacy interfaces: an interaction-driven approach , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[22]  Atif M. Memon,et al.  GUI ripping: reverse engineering of graphical user interfaces for testing , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[23]  Jan Carlson,et al.  Reusing Web Application User-Interface Controls , 2011, ICWE.

[24]  MOHAMMAD I. MUHAIRAT,et al.  FROM GRAPHICAL USER INTERFACE TO DOMAIN CLASS DIAGRAM : A REVERSE ENGINEERING APPROACH , 2011 .

[25]  Jean Vanderdonckt,et al.  Flexible reverse engineering of web pages with VAQUISTA , 2001, Proceedings Eighth Working Conference on Reverse Engineering.