skip to main content
10.1145/2494603.2480324acmconferencesArticle/Chapter ViewAbstractPublication PageseicsConference Proceedingsconference-collections
research-article

Combining static and dynamic analysis for the reverse engineering of web applications

Published:24 June 2013Publication History

ABSTRACT

Software has become so complex that it is increasingly hard to have a complete understanding of how a particular system will behave. Web applications, their user interfaces in particular, are built with a wide variety of technologies making them particularly hard to debug and maintain. Reverse engineering techniques, either through static analysis of the code or dynamic analysis of the running application, can be used to help gain this understanding. Each type of technique has its limitations. With static analysis it is difficult to have good coverage of highly dynamic applications, while dynamic analysis faces problems with guaranteeing that generated models fully capture the behavior of the system. This paper proposes a new hybrid approach for the reverse engineering of web applications' user interfaces. The approach combines dynamic analyzes of the application at runtime, with static analyzes of the source code of the event handlers found during interaction. Information derived from the source code is both directly added to the generated models, and used to guide the dynamic analysis.

References

  1. Amalfitano, D., Fasolino, A. R., and Tramontana, P. Reverse Engineering Finite State Machines from Rich Internet Applications. In Proc. 15th WCRE, IEEE Computer Society (2008), 69--73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bellucci, F., Ghiani, G., Paternò, F., and Porta, C. Automatic reverse engineering of interactive dynamic web applications to support adaptation across platforms. In Proc. IUI '12, ACM Press (2012), 217--226. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bouillon, L., Limbourg, Q., Vanderdonckt, J., and Mirchotte, B. Reverse engineering of web pages based on derivations and transformations. In Proc. LA-Web '05, IEEE Computer Society (2005), 3--. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Eilam, E. Reversing: Secrets of Reverse Engineering. Wiley, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Gimblett, A., and Thimbleby, H. User Interface Model Discovery : Towards a Generic Approach. In Proc. EICS '10, ACM Press (2010), 145--154. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Guha, A., Krishnamurthi, S., and Jim, T. Using static analysis for Ajax intrusion detection. In Proc. 18th WWW '09, ACM, Ed., ACM Press (2009), 561--570. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Ko, A. J., and Zhang, X. Feedlack detects missing feedback in web applications. In Proc. CHI '11, ACM Press (2011), 2177--2186. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Li, P., and Wohlstadter, E. View-based maintenance of graphical user interfaces. In Proc. 7th AOSD '08, ACM Press (2008), 156--167. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Memon, A., Banerjee, I., and Nagarajan, A. GUI ripping: reverse engineering of graphical user interfaces for testing. In Proc. 10th WCRE '03, IEEE Computer Society (2003), 260--269. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Mesbah, A., Bozdag, E., and van Deursen, A. Crawling AJAX by Inferring User Interface State Changes. In Proc. ICWE '08, IEEE Computer Society (2008), 122--134. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Morgado, I. C., Paiva, A. C. R., and Faria, J. a. P. Dynamic Reverse Engineering of Graphical User Interfaces. International Journal On Advances in Software 5, 3 (2012), 224--236.Google ScholarGoogle Scholar
  12. Morgado, I. C., Paiva, A. C. R., Faria, J. P., and Camacho, R. GUI reverse engineering with machine learning. In Proc. RAISE '12, IEEE Computer Society (2012), 27--31.Google ScholarGoogle ScholarCross RefCross Ref
  13. Silva, C. E. Reverse engineering of rich internet applications. Master's thesis, Escola de Engenharia, Universidade do Minho, 2009.Google ScholarGoogle Scholar
  14. Silva, J. C., Silva, C. E., Gonçalo, R., Saraiva, J., and Campos, J. C. The GUISurfer tool: towards a language independent approach to reverse engineering GUI code. In Proc. EICS '10, ACM Press (2010), 181--186. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Staiger, S. Static Analysis of Programs with Graphical User Interface. In Proc. CSMR '07, IEEE Computer Society (2007), 252--264. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Systa, T. On the relationships between static and dynamic models in reverse engineering Java software. In Proc. 6th WCRE 1999, IEEE Computer Society (1999), 304--313. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Combining static and dynamic analysis for the reverse engineering of web applications

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          EICS '13: Proceedings of the 5th ACM SIGCHI symposium on Engineering interactive computing systems
          June 2013
          356 pages
          ISBN:9781450321389
          DOI:10.1145/2494603

          Copyright © 2013 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 24 June 2013

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          EICS '13 Paper Acceptance Rate20of86submissions,23%Overall Acceptance Rate73of299submissions,24%

          Upcoming Conference

          EICS '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader