Skip to main content
Log in

Model-driven reverse engineering of legacy graphical user interfaces

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Businesses are increasingly beginning to modernise those of their legacy systems that were originally developed with Rapid Application Development (RAD) or Fourth Generation Language (4GL) environments, in order to benefit from new platforms and technologies. In these systems, the Graphical User Interface (GUI) layout is implicitly provided by the position of the GUI elements (i.e. coordinates). However, taking advantage of current features of GUI technologies often requires an explicit, high-level layout model. We propose a Model-Driven Engineering process with which to perform the automatic reverse engineering of RAD-built GUIs, which is focused on discovering the implicit layout, and produces a GUI model in which the layout is explicit. As an example of the approach, we apply an automatic reengineering process to this model in order to generate a Java Swing user interface.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Algorithm 1
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Algorithm 2
Algorithm 3
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21

Similar content being viewed by others

Notes

  1. A case study GUI taken from a real application that illustrates the reverse engineering process in detail can be found at www.modelum.es/guizmo.

References

  • Andrade, L.F., Gouveia, J., Antunes, M., El-Ramly, M., Koutsoukos, G.: Forms2net—migrating oracle forms to microsoft.net. In: GTTSE, pp. 261–277 (2006)

    Google Scholar 

  • Bandelloni, R., Mori, G., Paternò, F.: Dynamic generation of web migratory interfaces. In: Proceedings of the 7th International Conference on Human Computer Interaction with Mobile Devices & Services (MobileHCI ’05), pp. 83–90. ACM, New York (2005)

    Chapter  Google Scholar 

  • Bézivin, J., Kurtev, I.: Model-based technology integration with the technical space concept. In: Proceedings of the Metainformatics Symposium. Springer, Berlin (2005)

    Google Scholar 

  • Cai, D., Yu, S., Wen, J.R., Ma, W.Y.: Vips: a vision-based page segmentation algorithm. Tech. report, Microsoft Research (2003)

  • Chen, Y., Ma, W.Y., Zhang, H.: Detecting web page structure for adaptive viewing on small form factor devices. In: WWW, pp. 225–233 (2003)

    Google Scholar 

  • Chikofsky, E.J., Cross, J.H.: Reverse engineering and design recovery: a taxonomy. IEEE Softw. 7(1), 13–17 (1990)

    Article  Google Scholar 

  • Clark, T., Evans, A., Sammut, P., Willans, J.: Applied Metamodelling—A Foundation for Language Driven Development, 2nd edn. (2004)

  • Cuadrado, J.S., Molina, J.G.: Building domain-specific languages for model-driven development. IEEE Softw. 24(5), 48–55 (2007)

    Article  Google Scholar 

  • Cuadrado, J.S., Molina, J.G.: Modularization of model transformations through a phasing mechanism. Softw. Syst. Model. 8(3), 325–345 (2009)

    Article  Google Scholar 

  • Cuadrado, J.S., Molina, J.G., Menárguez, M.: RubyTL: a practical, extensible transformation language. In: 2nd European Conference on Model-Driven Architecture. LNCS, vol. 4066, pp. 158–172. Springer, Berlin (2006)

    Google Scholar 

  • Dixon, M., Leventhal, D., Fogarty, J.: Content and hierarchy in pixel-based methods for reverse engineering interface structure. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI ’11), pp. 969–978. ACM, New York (2011)

    Google Scholar 

  • Eclipse (2003) Eclipse Modelling Framework Project (EMF). http://www.eclipse.org/modeling/emf/

  • Gerdes, J., Jr.: User interface migration of microsoft windows applications. J. Softw. Maint. Evol. 21(3), 171–187 (2009)

    Article  Google Scholar 

  • Harrison, J.V., Lim, W.M.: Automated reverse engineering of legacy 4GL information system applications using the ITOC workbench. In: Proc. of the 10th Conference on Advanced Information Systems Engineering (CAiSE’98), pp. 8–12 (1998)

    Google Scholar 

  • Jacobs, C., Li, W., Schrier, E., Bargeron, D., Salesin, D.: Adaptive grid-based document layout. ACM Trans. Graph. 22(3), 838–847 (2003)

    Article  Google Scholar 

  • Li, W., Kurata, H.: A grid layout algorithm for automatic drawing of biochemical networks. Bioinformatics 21(9), 2036–2042 (2005)

    Article  Google Scholar 

  • Limbourg, Q., Vanderdonckt, J.: Usixml: a user interface description language supporting multiple levels of independence. In: ICWE Workshops, pp. 325–338 (2004)

    Google Scholar 

  • Lutteroth, C.: Automated reverse engineering of hard-coded GUI layouts. In: Ninth Australasian User Interface Conference (AUIC 2008), vol. 76, pp. 65–73. ACS, Darlinghurst (2008)

    Google Scholar 

  • Maras, J., Štula, M., Carlson, J.: Reusing web application user-interface controls. In: Proceedings of the 11th International Conference on Web Engineering (ICWE’11), pp. 228–242. Springer, Berlin (2011)

    Google Scholar 

  • Martin, J.: Rapid Application Development. Macmillan Co., London (1991)

    Google Scholar 

  • Meliá, S., Gómez, J., Pérez, S., Díaz, O.: A model-driven development for gwt-based rich Internet applications with ooh4ria. In: ICWE, pp. 13–23. IEEE, New York (2008)

    Google Scholar 

  • Memon, A., Banerjee, I., Nagarajan, A.: GUI ripping: reverse engineering of graphical user interfaces for testing. In: Proceedings of the 10th Working Conference on Reverse Engineering (WCRE ’03), p. 260. IEEE Comput. Soc., Los Alamitos (2003)

    Google Scholar 

  • OMG: Architecture-Driven Modernization (ADM). http://adm.omg.org/ (2007)

  • Puerta, A., Eisenstein, J.: Ximl: a common representation for interaction data. In: Proceedings of the 7th International Conference on Intelligent User Interfaces (IUI ’02), pp. 214–215. ACM, New York (2002)

    Chapter  Google Scholar 

  • Rake: Rake website. http://www.rake.org/ (2012)

  • Sánchez Ramón, O., Sánchez Cuadrado, J., García Molina, J.: Model-driven reverse engineering of legacy graphical user interfaces. In: Proceedings of the IEEE/ACM International Conference on Automated Software engineering (ASE ’10), pp. 147–150. ACM, New York (2010)

    Chapter  Google Scholar 

  • Staiger, S.: Static analysis of programs with graphical user interface. In: Proceedings of the 11th European Conference on Software Maintenance and Reengineering (CSMR’07), pp. 252–264. IEEE Comput. Soc., Los Alamitos (2007)

    Google Scholar 

  • Stroulia, E., El-Ramly, M., Iglinski, P., Sorenson, P.: User interface reverse engineering in support of interface migration to the web. Autom. Softw. Eng. 10(2), 271–301 (2003)

    Article  Google Scholar 

  • Tilley, S.R., Smith, D.B.: Perspectives on legacy system reengineering. Tech. rep., Software Engineering Institute, Carnegie Mellon University (1995)

  • Vanderdonckt, J., Bouillon, L., Souchon, N.: Flexible reverse engineering of web pages with VAQUISTA. In: Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE 01), p. 241. IEEE Comput. Soc., Los Alamitos (2001)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jesús Sánchez Cuadrado.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sánchez Ramón, Ó., Sánchez Cuadrado, J. & García Molina, J. Model-driven reverse engineering of legacy graphical user interfaces. Autom Softw Eng 21, 147–186 (2014). https://doi.org/10.1007/s10515-013-0130-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-013-0130-2

Keywords

Navigation