Your browser does not support JavaScript!
http://iet.metastore.ingenta.com
1887

ReAjax: a reverse engineering tool for Ajax Web applications

ReAjax: a reverse engineering tool for Ajax Web applications

For access to this article, please select a purchase option:

Buy article PDF
£12.50
(plus tax if applicable)
Buy Knowledge Pack
10 articles for £75.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Name:*
Email:*
Your details
Name:*
Email:*
Department:*
Why are you recommending this title?
Select reason:
 
 
 
 
 
IET Software — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

In contrast to conventional multi-page Web applications, an Ajax application is often developed as a single-page application in which content and structure are changed at runtime according to user interactions, asynchronous messages received from the server and the current state of the application. These features make Ajax applications quite hard to understand for programmers. The authors propose to support Ajax comprehension through reverse engineering. In this study, the authors propose a reverse-engineering tool, ReAjax, to build GUI-based state models from Ajax applications. ReAjax applies dynamic analysis and uses execution traces to generate a finite state machine of the target application GUI. They show that GUI-based state models obtained semi-automatically are similar to those obtained manually and they can be used for program understanding purposes. Finally, the authors summarise a case study and some usage scenarios in which ReAjax has been applied to five real Ajax applications with the purpose of evaluating its viability and effectiveness in recovering models.

References

    1. 1)
      • C. Wohlin , P. Runenson , M. Hst , M. Ohlsson , B. Regnell , A. Wessln . (2000) Experimentation in software engineering – an introduction.
    2. 2)
    3. 3)
      • Alalfi, M.H., Cordy, J.R., Dean, T.R.: `Automated reverse engineering of uml sequence diagrams for dynamic web applications', IEEE Int. Conf. on Software Testing, Verification, and Validation Workshops (ICSTW), 2009, Washington, DC, USA.
    4. 4)
      • Hassan, A.E., Holt, R.: `Architecture recovery of web applications', Proc. Int. Conf. on Software Engineering, 2002, Orlando, Florida, USA.
    5. 5)
      • Lorenzoli, D., Mariani, L., Pezzè, M.: `Automatic generation of software behavioral models', IEEE Int. Conf. on Software Engineering (ICSE), 2008.
    6. 6)
    7. 7)
      • Amalfitano, D., Fasolino, A.R., Tramontana, P.: `Techniques and tools for rich internet applications testing', Int. Symp. on Web Systems Evolution (WSE), 2010, p. 63–72.
    8. 8)
    9. 9)
      • Amalfitano, D., Fasolino, A., Tramontana, P.: `An iterative approach for the reverse engineering of rich internet application user interfaces', Int. Conf. on Internet and Web Applications and Services (ICIW), 2010, p. 401–410.
    10. 10)
      • Nagarajan, A., Memon, A.M.: `Refactoring using event-based profiling', Int. Workshop on REFactoring: Achievements, 2003, Challenges, Effects.
    11. 11)
      • Ricca, F., Tonella, P.: `Analysis and testing of Web applications', Proc. Int. Conf. Software Engineering, ICSE 2001, 12–19 May 2001, Toronto, Ontario, Canada, p. 25–34.
    12. 12)
      • Mesbah, A., van Deursen, A.: `Invariant-based automatic testing of Ajax user interfaces', 31stInt. Conf. on Software Engineering (ICSE), 2009, Canada.
    13. 13)
      • Dallmeier, V., Lindig, C., Wasylkowski, A., Zeller, A.: `Mining object behavior with ADABU', Proc. Fourth Int. Workshop on Dynamic Analysis (WODA), 2006, Shangai, China.
    14. 14)
      • Staiger, S.: `Reverse engineering of graphical user interfaces using static analyses', Working Conf. on Reverse Engineering (WCRE), 2007, Washington, DC, USA.
    15. 15)
      • Patel, R., Coenen, F., Martin, R., Archer, L.: `Reverse engineering of web applications: a technical review', Technical, 2007.
    16. 16)
      • Marchetto, A., Tonella, P., Ricca, F.: `State-based testing of ajax web applications', Proc. IEEE Int. Conf. on Software Testing (ICST), 2008, Lillehammer, Norway.
    17. 17)
      • Mesbah, A., van Deursen, A.: `Crawling Ajax by inferring user interface state changes', Int. Conf. on Web Engineering (ICWE), 2008, New York, USA.
    18. 18)
      • Silva, J.C., Campos, J.C., Saraiva, J.: `Models for the reverse engineering of java/swing applications', Int. Workshop on Metamodels, Schemas, Grammars, and Ontologies (ateM 2006) for Reverse Engineering, Johannes Gutenberg-Universität Mainz, Institut für Informatik – FB 8, 2006.
    19. 19)
      • Marchetto, A., Tonella, P., Ricca, F.: `Under and over approximation of state models recovered for ajax applications', European Conf. on Software Maintenance and Reengineering (CSMR), 2010, Madrid, Spain.
    20. 20)
      • J. Garrett . Ajax: a new approach to web applications. Adapt. Path
    21. 21)
      • Guéhéneuc, Y.G., Mens, K., Wuyts, R.: `A comparative framework for design recovery tools', European Conf. on Software Maintenance and Reengineering (CSMR 2006), 2006, p. 134–144.
    22. 22)
      • Matthijssen, N., Zaidman, A., Storey, M.A., Bull, I., van Deursen, A.: `Connecting traces: understanding client-server interactions in Ajax applications', Int. Conf. on Program Comprehension (ICPC), 2010, p. 216–225.
http://iet.metastore.ingenta.com/content/journals/10.1049/iet-sen.2010.0152
Loading

Related content

content/journals/10.1049/iet-sen.2010.0152
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading
This is a required field
Please enter a valid email address