Characterizing the Control Logic of Web Applications’ User Interfaces
In order to develop an hybrid approach to the Reverse Engineer of Web applications, we need first to understand how much of the control logic of the user interface can be obtained from the analysis of event listeners. To that end, we have developed a tool that enables us to perform such analysis, and applied it to the implementation of the one thousand most widely used Websites (according to Alexa Top Sites). This paper describes our approach for analyzing the user interface layer of those Websites, and the results we got from the analysis. The conclusions drawn from the exercise will be used to guide the development of the proposed hybrid reverse engineering tool.
KeywordsWeb applications user interfaces reverse engineering
Unable to display preview. Download preview PDF.
- 1.Eilam, E.: Reversing: Secrets of Reverse Engineering. Wiley (2005)Google Scholar
- 2.Telea, A.C.: Reverse Engineering – Recent Advances and Applications. InTech (2012)Google Scholar
- 3.Mikkonen, T., Taivalsaari, A.: Web applications – spaghetti code for the 21st century. Technical Report SMLI TR-2007-166, Sun Microsystems (2007)Google Scholar
- 4.Silva, C.E.: Reverse engineering of rich internet applications. Master’s thesis, Universidade do Minho (2009)Google Scholar
- 5.Campos, J.C., Saraiva, J., Silva, C., Silva, J.C.: GUIsurfer: A reverse engineering framework for user interface software. In: Telea , ch.2, pp. 31–54Google Scholar
- 6.de Kleijn, R.: Learning Selenium: Hands-on tutorials to create a robust and maintainable test automation framework. Leanpub (2014)Google Scholar
- 7.Mesbah, A., van Deursen, A., Lenselink, S.: Crawling Ajax-based web applications through dynamic analysis of user interface state changes. ACM Transactions on the Web (TWEB) 6(1), 3:1–3:30 (2012)Google Scholar
- 8.Morgado, I.C., Paiva, A.C.R., Faria, J.P., Camacho, R.: GUI reverse engineering with machine learning. In: 2012 First International Workshop on Realizing AI Synergies in Software Engineering (RAISE), pp. 27–31. IEEE (June 2012)Google Scholar
- 9.Silva, C.E., Campos, J.C.: Combining static and dynamic analysis for the reverse engineering of web applications. In: Forbrig, P., Dewan, P., Harrison, M., Luyten, K., Santoro, C., Barbosa, S.D.J. (eds.) Proceedings of the 5th ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS 2013), pp. 107–112. ACM (2013)Google Scholar
- 10.Jakob, J.: jQuery Compressed. Jenkov Aps (2011)Google Scholar