Automated reverse engineering of Java graphical user interfaces for web migration

The World Wide Web is increasingly becoming an important medium for business growth. The migration of existing applications to the web is a core problem in software reengineering, since applications are frequently deemed to be useful when their functionalities are accessible via the Web. A substantial class of applications that could benefit from migration to the Web is that of Java Graphical User Interface (GUI) desktop applications. An emerging approach to Web migration is interaction-based reengineering, in which the User Interface (UI) of the existing application is wrapped with a software layer that exports a Web accessible interface and hides the original one. A major barrier to such migration approaches is the reverse engineering of the User Interface, which is usually a time consuming and highly manual task. We present a new approach to automatically Reverse Engineer various structural and behavioral features of a GUI from an executing Java-Swing desktop application. The approach is based on source code independent techniques, such as Aspect J. In this paper, we describe our GUI reverse engineering approach and we illustrate it with a case study.

[1]  Lionel C. Briand,et al.  Towards the reverse engineering of UML sequence diagrams , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[2]  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..

[3]  Dewayne E. Perry,et al.  Integrating and Reusing GUI-Driven Applications , 2002, ICSR.

[4]  Matthew B. Dwyer,et al.  Analyzing interaction orderings with model checking , 2004 .

[5]  Santiago Comella-Dorda,et al.  A survey of black-box modernization approaches for information systems , 2000, Proceedings 2000 International Conference on Software Maintenance.

[6]  Gerardo Canfora,et al.  Migrating interactive legacy systems to Web services , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[7]  David R. Kaeli,et al.  Program Comprehension Using Aspects , 2004 .

[8]  Tessa A. Lau,et al.  MORE for less: model recovery from visual interfaces for multi-device application design , 2003, IUI '03.

[9]  Ying Zou,et al.  Web-based specification and integration of legacy services , 2000, CASCON.

[10]  Ying Zou,et al.  Web-based Legacy System Migration and Integration * , 2001 .

[11]  Amir Michail,et al.  Design recovery of interactive graphical applications , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[12]  Eleni Stroulia,et al.  Dynamic analysis for reverse engineering and program understanding , 2002, SIAP.

[13]  Eleni Stroulia,et al.  Modeling the system-user dialog using interaction traces , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[14]  Eleni Stroulia,et al.  From legacy to Web through interaction modeling , 2002, International Conference on Software Maintenance, 2002. Proceedings..