Using indexed sequence diagrams to recover the behaviour of AJAX applications

Authors: Shane McIntosh Bram Adams Ahmed E. Hassan Ying Zou

Venue: 2011 13th IEEE International Symposium on Web Systems Evolution (WSE), pp. 1-10, 2011

Year: 2011

Abstract: AJAX is an asynchronous client-side technology that enables feature-rich, interactive Web 2.0 applications. AJAX applications and technologies are very complex compared to classic web applications, having to cope with asynchronous communication over (unstable) network connections. Yet, AJAX developers still rely on the ad hoc development processes and techniques of the early '00s. To determine how the inherent complexity of AJAX impacts the design and maintenance of AJAX applications, this paper studies the amount of code reuse across the different features of an AJAX application. Furthermore, we analyze how the design of existing AJAX systems deal with AJAX-specific crosscutting concerns, such as handling the loss of network connectivity. We use dynamic analysis to recover the run-time behaviour of AJAX applications in the form of sequence diagrams that are indexed by the different asynchronous communication states that the application can be in. Exploratory case studies on three AJAX applications show that (1) a majority (60-90%) of the run-time behaviour is shared, theoretically simplifying maintenance, and (2) that the studied projects seem unprepared for loss of network connectivity, often presenting the user with an incorrect view of the application state.

BibTeX:

@inproceedings{shanemcintosh2011uisdtrtboaa,
    author = "Shane McIntosh and Bram Adams and Ahmed E. Hassan and Ying Zou",
    title = "Using indexed sequence diagrams to recover the behaviour of AJAX applications",
    year = "2011",
    pages = "1-10",
    booktitle = "Proceedings of 2011 13th IEEE International Symposium on Web Systems Evolution (WSE)"
}

Plain Text:

Shane McIntosh, Bram Adams, Ahmed E. Hassan, and Ying Zou, "Using indexed sequence diagrams to recover the behaviour of AJAX applications," 2011 13th IEEE International Symposium on Web Systems Evolution (WSE), pp. 1-10