scispace - formally typeset
Open AccessJournal ArticleDOI

Crawling Ajax-Based Web Applications through Dynamic Analysis of User Interface State Changes

Reads0
Chats0
TLDR
A novel technique for crawling Ajax-based applications through automatic dynamic analysis of user-interface-state changes in Web browsers, and incrementally infers a state machine that models the various navigational paths and states within an Ajax application.
Abstract: 
Using JavaScript 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 Ajax---shatter the concept of webpages with unique URLs, on which traditional Web crawlers are based. This article describes a novel technique for crawling Ajax-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 Ajax 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 Ajax crawling algorithms. We present our open source tool called Crawljax, 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.

read more

Content maybe subject to copyright    Report

Citations
More filters
Proceedings ArticleDOI

Automated Test Input Generation for Android: Are We There Yet? (E)

TL;DR: In this paper, a comparison of the main existing test input generation tools for Android apps is presented, based on four metrics: ease of use, ability to work on multiple platforms, code coverage, and ability to detect faults.
Proceedings ArticleDOI

Guided GUI testing of android apps with minimal restart and approximate learning

TL;DR: This paper proposes an automated technique, called Swift-Hand, for generating sequences of test inputs for Android apps, which uses machine learning to learn a model of the app during testing, uses the learned model to generate user inputs that visit unexplored states of theapp, and uses the execution of the application on the generated inputs to refine the model.
Book ChapterDOI

A grey-box approach for automated GUI-model generation of mobile applications

TL;DR: This work presents a novel grey-box approach for automatically extracting a model of a given mobile app, which can efficiently extract compact yet reasonably comprehensive models of high quality for such apps.
Journal ArticleDOI

MobiGUITAR: Automated Model-Based Testing of Mobile Apps

TL;DR: MobiGUITAR (Mobile GUI Testing Framework) provides automated GUI-driven testing of Android apps, based on observation, extraction, and abstraction of GUI widgets' run-time state that automatically generates test cases and reports new bugs.
Proceedings ArticleDOI

Interactive record/replay for web application debugging

TL;DR: Timelapse is a tool for quickly recording, reproducing, and debugging interactive behaviors in web applications, built on Dolos, a novel record/replay infrastructure that ensures deterministic execution by capturing and reusing program inputs both from the user and from external sources such as the network.
References
More filters
Journal ArticleDOI

A note on two problems in connexion with graphs

Edsger W. Dijkstra
- 01 Dec 1959 - 
TL;DR: A tree is a graph with one and only one path between every two nodes, where at least one path exists between any two nodes and the length of each branch is given.
Journal ArticleDOI

The anatomy of a large-scale hypertextual Web search engine

TL;DR: This paper provides an in-depth description of Google, a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext and looks at the problem of how to effectively deal with uncontrolled hypertext collections where anyone can publish anything they want.
Journal Article

The Anatomy of a Large-Scale Hypertextual Web Search Engine.

Sergey Brin, +1 more
- 01 Jan 1998 - 
TL;DR: Google as discussed by the authors is a prototype of a large-scale search engine which makes heavy use of the structure present in hypertext and is designed to crawl and index the Web efficiently and produce much more satisfying search results than existing systems.
Related Papers (5)