全部 标题 作者
关键词 摘要

OALib Journal期刊
ISSN: 2333-9721
费用:99美元

查看量下载量

相关文章

更多...

Reverse Engineering Approach for Analyzing and Transforming Graphical User Interface Source Code into Class Diagrams

DOI: 10.4236/jcc.2025.133007, PP. 86-102

Keywords: MDE, Reverse Engineering, Source Code Parsing, Regex, ATL, Class Diagrams

Full-Text   Cite this paper   Add to My Lib

Abstract:

In the field of software engineering, the design phase occupies a pivotal position, serving as a critical juncture in ensuring the quality, maintainability, and efficiency of software systems. The creation of software typically begins with the design phase, which is then succeeded by the production phase. In this context, model-driven engineering (MDE) represents a robust methodology for enhancing the development of complex systems by situating models at the core of the process. This method is concerned with the creation and transformation of models, progressing from abstract to concrete representations. To illustrate, in the context of MDE, models can be transformed from the Unified Modelling Language (UML) to a graphical interface. In contrast, reverse engineering such as MDE-based reverse engineering is a process that aims to understand, analyse and reconstruct design artifacts from an existing system. This approach involves transforming concrete models into abstract models. This paper proposes an innovative approach to reverse engineering based on software design using the graphical user interface model. More specifically, this project involves the transformation of a WIMP (Window, Icon, Menu and Pointer) graphical user interface into a class diagram. To do this, we will use a syntactic analysis method of the source code based on the Java language and regular expressions, and the Atlas Transformation Language (ATL) will be used to transform the graphical interface into a class diagram.

References

[1]  Dimbisoa, W.G., Mahatody, T. and Razafimandimby, J.P. (2018) Creating a Metamodel of UI Components in Form of Model Independant of the Platform. International Journal of Conceptions on Computing and Information Technology, 6, 48-52.
[2]  Crampes, J.-B. and Ferry, N. (2008) SNO: High Level Model for IHM Design and Mock-Up. Electronic Journal of Information Technology, 5, 1-18.
[3]  Ferry, N. (2008) Formalisation of MACAO Method Models and Development of a Software Engineering Tool for the Creation of Man-Machine Interfaces. Ph.D. Thesis, University of Toulouse.
[4]  Telea, A.C. (2012) Reverse Engineering—Recent Advances and Applications. IntechOpen.
https://doi.org/10.5772/1850
[5]  Mahfoudhi, A., Bouchelligua, W., Abed, M. and Abid, M. (2006) Towards a New Approach of Model-Based HCI Conception. Proceedings of the 6th WSEAS International Conference on Multimedia, Internet & Video Technologies, Lisbon, 22-24 September 2006, 117-125.
[6]  Lucas, F.J., Molina, F. and Toval, A. (2009) A Systematic Review of UML Model Consistency Management. Information and Software Technology, 51, 1631-1645.
https://doi.org/10.1016/j.infsof.2009.04.009
[7]  Jouault, F., Allilaire, F., Bézivin, J. and Kurtev, I. (2008) ATL: A Model Transformation Tool. Science of Computer Programming, 72, 31-39.
https://doi.org/10.1016/j.scico.2007.08.002
[8]  Saraiva, J.A., Campos, J.C., Silva, J.C. and Silva, C. (2012) GUIsurfer: A Reverse Engineering Framework for User Interface Software. In: Telea, A.C., Ed., Reverse EngineeringRecent Advances and Applications, IntechOpen.
[9]  Silva, J.C., Silva, C.C., Gonçalo, R.D., Saraiva, J. and Campos, J.C. (2010) The GUISurfer Tool: Towards a Language Independent Approach to Reverse Engineering GUI Code. 2nd ACM SIGCHI Symposium on Engineering Interactive Computing Systems, Braga, June 2010.
[10]  Favre, L. (2012) MDA-Based Reverse Engineering. In: Telea, A.C., Ed., Reverse EngineeringRecent Advances and Applications, IntechOpen.
https://doi.org/10.5772/32473
[11]  Muhairat, M.I., AL-Qutaish, R.E. and Athamena, B.M. (2011) From Graphical User Interface to Domain Class Diagram: A Reverse Engineering Approach. Journal of Theoretical and Applied Information Technology, 24, 28-40.
[12]  Mithe, R., Indalkar, S. and Divekar, N. (2013) Optical Character Recognition. International Journal of Recent Technology and Engineering (IJRTE), 2, 72-75.
[13]  Johnson, S.C. (1986) YACC: Yet Another Compiler-Compiler. Bell Laboratories.
[14]  Levine, J.R. (2009) Flex & Bison: Text Processing Tools, O’Reilly Media, Inc.
[15]  Latif, A., Azam, F., Anwar, M.W. and Zafar, A. (2023). Comparison of Leading Language Parsers—ANTLR, Javacc, Sablecc, Tree-Sitter, Yacc, Bison. 2023 13th International Conference on Software Technology and Engineering (ICSTE), Osaka, 27-29 October 2023, 7-13.
https://ieeexplore.ieee.org/abstract/document/10366650
https://doi.org/10.1109/icste61649.2023.00009
[16]  Vinju, J. (2005) Analysis and Transformation of Source Code by Parsing and Re-writing, UvA-DARE (Digital Academic Repository). University of Amsterdam.
[17]  Dewi, L.C., Meiliana, and Chandra, A. (2019) Social Media Web Scraping Using Social Media Developers API and Regex. Procedia Computer Science, 157, 444-449.
https://doi.org/10.1016/j.procs.2019.08.237
[18]  Tisi, M., Martínez, S. and Choura, H. (2013) Parallel Execution of ATL Transformation Rules. In: Moreira, A., Schätz, B. and Gray, J., Eds., Lecture Notes in Computer Science, Springer Berlin Heidelberg, 656-672.
https://doi.org/10.1007/978-3-642-41533-3_40
[19]  Brun, C. and Pierantonio, A. (2008) Model Differences in the Eclipse Modelling Framework. UPGRADE, the European Journal for the Informatics Professional, 9, 29-34.
[20]  Arendt, T. and Taentzer, G. (2013) A Tool Environment for Quality Assurance Based on the Eclipse Modeling Framework. Automated Software Engineering, 20, 141-184.
https://doi.org/10.1007/s10515-012-0114-7

Full-Text

Contact Us

service@oalib.com

QQ:3279437679

WhatsApp +8615387084133