{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,10,23]],"date-time":"2026-10-23T08:29:34Z","timestamp":1792744174937,"version":"4.5.0"},"reference-count":37,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2012,3,1]],"date-time":"2012-03-01T00:00:00Z","timestamp":1330560000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Web"],"published-print":{"date-parts":[[2012,3]]},"abstract":"<jats:p>\n            Using\n            <jats:sc>JavaScript<\/jats:sc>\n            and dynamic DOM manipulation on the client side of Web applications is becoming a widespread approach for achieving rich interactivity and responsiveness in modern Web applications. At the same time, such techniques---collectively known as\n            <jats:sc>Ajax<\/jats:sc>\n            ---shatter the concept of webpages with unique URLs, on which traditional Web crawlers are based. This article describes a novel technique for crawling\n            <jats:sc>Ajax<\/jats:sc>\n            -based applications through automatic dynamic analysis of user-interface-state changes in Web browsers. Our algorithm scans the DOM tree, spots candidate elements that are capable of changing the state, fires events on those candidate elements, and incrementally infers a state machine that models the various navigational paths and states within an\n            <jats:sc>Ajax<\/jats:sc>\n            application. This inferred model can be used in program comprehension and in analysis and testing of dynamic Web states, for instance, or for generating a static version of the application. In this article, we discuss our sequential and concurrent\n            <jats:sc>Ajax<\/jats:sc>\n            crawling algorithms. We present our open source tool called\n            <jats:sc>Crawljax<\/jats:sc>\n            , which implements the concepts and algorithms discussed in this article. Additionally, we report a number of empirical studies in which we apply our approach to a number of open-source and industrial Web applications and elaborate on the obtained results.\n          <\/jats:p>","DOI":"10.1145\/2109205.2109208","type":"journal-article","created":{"date-parts":[[2012,3,6]],"date-time":"2012-03-06T13:18:22Z","timestamp":1331039902000},"page":"1-30","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":219,"title":["Crawling Ajax-Based Web Applications through Dynamic Analysis of User Interface State Changes"],"prefix":"10.1145","volume":"6","author":[{"given":"Ali","family":"Mesbah","sequence":"first","affiliation":[{"name":"University of British Columbia"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Arie","family":"van Deursen","sequence":"additional","affiliation":[{"name":"Delft University of Technology"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Stefan","family":"Lenselink","sequence":"additional","affiliation":[{"name":"Delft University of Technology"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2012,3]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1007\/11775300_22"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/CEC-EAST.2004.30"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/11531371_8"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1242572.1242632"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1595696.1595711"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.587"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0169-7552(98)00110-X"},{"key":"e_1_2_1_8_1","first-page":"37","article-title":"Crawling towards eternity: Building an archive of the world wide web","volume":"2","author":"Burner M.","year":"1997","unstructured":"Burner , M. 1997 . Crawling towards eternity: Building an archive of the world wide web . Web Techniques Mag. 2 , 5, 37 -- 40 . Burner, M. 1997. Crawling towards eternity: Building an archive of the world wide web. Web Techniques Mag. 2, 5, 37--40.","journal-title":"Web Techniques Mag."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/233269.233366"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/511446.511464"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0169-7552(98)00108-1"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1242572.1242630"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1031453.1031457"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01386390"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2009.90"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/514183.514185"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/380921.380941"},{"key":"e_1_2_1_18_1","volume-title":"Ajax: A new approach to Web applications. Adaptive path","author":"Garrett J.","year":"2005","unstructured":"Garrett , J. 2005 . Ajax: A new approach to Web applications. Adaptive path . http:\/\/www.adaptivepath.com\/publications\/essays\/archives\/000385.php. Garrett, J. 2005. Ajax: A new approach to Web applications. Adaptive path. http:\/\/www.adaptivepath.com\/publications\/essays\/archives\/000385.php."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1019213109274"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.datak.2003.10.003"},{"key":"e_1_2_1_21_1","first-page":"707","article-title":"Binary codes capable of correcting deletions, insertions, and reversals","volume":"10","author":"Levenshtein V. L.","year":"1996","unstructured":"Levenshtein , V. L. 1996 . Binary codes capable of correcting deletions, insertions, and reversals . Cybernetics Control Theory 10 , 707 -- 710 . Levenshtein, V. L. 1996. Binary codes capable of correcting deletions, insertions, and reversals. Cybernetics Control Theory 10, 707--710.","journal-title":"Cybernetics Control Theory"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.14778\/1454159.1454163"},{"key":"e_1_2_1_23_1","doi-asserted-by":"crossref","unstructured":"Maxwell S. and Delaney H. 2004. Designing Experiments and Analyzing Data: A Model Comparison Perspective. Lawrence Erlbaum U.K. Maxwell S. and Delaney H. 2004. Designing Experiments and Analyzing Data: A Model Comparison Perspective . Lawrence Erlbaum U.K.","DOI":"10.4324\/9781410609243"},{"key":"e_1_2_1_24_1","volume-title":"Proceedings of the 10th Working Conference on Reverse Engineering (WCRE\u201903)","author":"Memon A.","unstructured":"Memon , A. , Banerjee , I. , and Nagarajan , A . 2003. GUI ripping: Reverse engineering of graphical user interfaces for testing . In Proceedings of the 10th Working Conference on Reverse Engineering (WCRE\u201903) . IEEE Computer Society, Los Alamitos, CA, 260--269. Memon, A., Banerjee, I., and Nagarajan, A. 2003. GUI ripping: Reverse engineering of graphical user interfaces for testing. In Proceedings of the 10th Working Conference on Reverse Engineering (WCRE\u201903). IEEE Computer Society, Los Alamitos, CA, 260--269."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/503209.503244"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICWE.2008.24"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2007.33"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985870"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2008.04.005"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070522"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065385.1065407"},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the 2nd International World Wide Web Conference.","volume":"94","author":"Pinkerton B.","year":"1994","unstructured":"Pinkerton , B. 1994 . Finding what people want: Experiences with the Web crawler . In Proceedings of the 2nd International World Wide Web Conference. Vol. 94 . 17--20. Pinkerton, B. 1994. Finding what people want: Experiences with the Web crawler. In Proceedings of the 2nd International World Wide Web Conference. Vol. 94. 17--20."},{"key":"e_1_2_1_33_1","volume-title":"Proceedings of the 27th International Conference on Very Large Data Bases (VLDB\u201901)","author":"Raghavan S.","unstructured":"Raghavan , S. and Garcia-Molina , H . 2001. Crawling the hidden Web . In Proceedings of the 27th International Conference on Very Large Data Bases (VLDB\u201901) . 129--138. Raghavan, S. and Garcia-Molina, H. 2001. Crawling the hidden Web. In Proceedings of the 27th International Conference on Very Large Data Bases (VLDB\u201901). 129--138."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICST.2010.59"},{"key":"e_1_2_1_35_1","volume-title":"Comet: Low latency data for the browser","author":"Russell A.","year":"2006","unstructured":"Russell , A. 2006 . Comet: Low latency data for the browser . http:\/\/alex.dojotoolkit.org\/?p=545. Russell, A. 2006. Comet: Low latency data for the browser. http:\/\/alex.dojotoolkit.org\/?p=545."},{"key":"e_1_2_1_36_1","doi-asserted-by":"crossref","unstructured":"Valmari A. 1998. The state explosion problem. In Lectures on Petri Nets I: Basic Models: Advances in Petri Nets. 429--528. Valmari A. 1998. The state explosion problem. In Lectures on Petri Nets I: Basic Models: Advances in Petri Nets . 429--528.","DOI":"10.1007\/3-540-65306-6_21"},{"key":"e_1_2_1_37_1","unstructured":"W3C. W3C Web Storage. http:\/\/dev.w3.org\/html5\/webstorage\/. W3C . W3C Web Storage. http:\/\/dev.w3.org\/html5\/webstorage\/."}],"container-title":["ACM Transactions on the Web"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2109205.2109208","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2109205.2109208","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T10:06:09Z","timestamp":1750241169000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2109205.2109208"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,3]]},"references-count":37,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2012,3]]}},"alternative-id":["10.1145\/2109205.2109208"],"URL":"https:\/\/doi.org\/10.1145\/2109205.2109208","relation":{},"ISSN":["1559-1131","1559-114X"],"issn-type":[{"value":"1559-1131","type":"print"},{"value":"1559-114X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012,3]]},"assertion":[{"value":"2010-12-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2011-08-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-03-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}