Crawling AJAX by Inferring User Interface State Changes

Ali Mesbah, Engin Bozdag, Arie van Deursen
2008 2008 Eighth International Conference on Web Engineering  
AJAX is a very promising approach for improving rich interactivity and responsiveness of web applications. At the same time, AJAX techniques shatter the metaphor of a web 'page' upon which general search crawlers are based. This paper describes a novel technique for crawling AJAX applications through dynamic analysis and reconstruction of user interface state changes. Our method dynamically infers a 'state-flow graph' modeling the various navigation paths and states within an AJAX application.
more » ... his reconstructed model can be used to generate linked static pages. These pages could be used to expose AJAX sites to general search engines. Moreover, we believe that the crawling techniques that are part of our solution have other applications, such as within general search engines, accessibility improvements, or in automatically exercising all user interface elements and conducting state-based testing of AJAX applications. We present our open source tool called CRAWLJAX which implements the concepts discussed in this paper. Additionally, we report a case study in which we apply our approach to a number of representative AJAX applications and elaborate on the obtained results. Eighth International Conference on Web Engineering 978-0-7695-3261-5/08 $25.00
doi:10.1109/icwe.2008.24 dblp:conf/icwe/MesbahBD08 fatcat:eq274p6fkredzisy4dna7gl7aq