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. © 2012 The Institution of Engineering and Technology.

ReAjax: A reverse engineering tool for Ajax Web applications / Marchetto, A.; Tonella, P.; Ricca, F.. - In: IET SOFTWARE. - ISSN 1751-8806. - 6:1(2012), pp. 33-49. [10.1049/iet-sen.2010.0152]

ReAjax: A reverse engineering tool for Ajax Web applications

Marchetto A.;
2012-01-01

Abstract

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. © 2012 The Institution of Engineering and Technology.
2012
1
Marchetto, A.; Tonella, P.; Ricca, F.
ReAjax: A reverse engineering tool for Ajax Web applications / Marchetto, A.; Tonella, P.; Ricca, F.. - In: IET SOFTWARE. - ISSN 1751-8806. - 6:1(2012), pp. 33-49. [10.1049/iet-sen.2010.0152]
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11572/331384
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 25
  • ???jsp.display-item.citation.isi??? 17
social impact