Automated reverse engineering of Java graphical user interfaces for web migration
Hani Samir, Amr A. Kamel · 2007
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.