Interaction programming: next steps
CHI '09 Extended Abstracts on Human Factors in Computing Systems
Invariant-based automatic testing of AJAX user interfaces
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Proceedings of the 1st ACM SIGCHI symposium on Engineering interactive computing systems
Script InSight: Using Models to Explore JavaScript Code from the Browser View
ICWE '9 Proceedings of the 9th International Conference on Web Engineering
Automated security testing of web widget interactions
Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Research Issues in the Automated Testing of Ajax Applications
SOFSEM '10 Proceedings of the 36th Conference on Current Trends in Theory and Practice of Computer Science
No Code Required: Giving Users Tools to Transform the Web
No Code Required: Giving Users Tools to Transform the Web
More than meets the eye: a survey of screen-reader browsing strategies
Proceedings of the 2010 International Cross Disciplinary Conference on Web Accessibility (W4A)
User interface model discovery: towards a generic approach
Proceedings of the 2nd ACM SIGCHI symposium on Engineering interactive computing systems
Automated cross-browser compatibility testing
Proceedings of the 33rd International Conference on Software Engineering
A framework for automated testing of javascript web applications
Proceedings of the 33rd International Conference on Software Engineering
Performance testing of data delivery techniques for AJAX applications
Journal of Web Engineering
A strategy for efficient crawling of rich internet applications
ICWE'11 Proceedings of the 11th international conference on Web engineering
Automated black-box detection of side-channel vulnerabilities in web applications
Proceedings of the 18th ACM conference on Computer and communications security
Declaratively programming the mobile web with Mobl
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Crawling Ajax-Based Web Applications through Dynamic Analysis of User Interface State Changes
ACM Transactions on the Web (TWEB)
Proceedings of the 34th International Conference on Software Engineering
ARC: protecting against HTTP parameter pollution attacks using application request caches
ACNS'12 Proceedings of the 10th international conference on Applied Cryptography and Network Security
Enemy of the state: a state-aware black-box web vulnerability scanner
Security'12 Proceedings of the 21st USENIX conference on Security symposium
Recording and replaying navigations on AJAX web sites
ICWE'12 Proceedings of the 12th international conference on Web Engineering
Crawling rich internet applications: the state of the art
CASCON '12 Proceedings of the 2012 Conference of the Center for Advanced Studies on Collaborative Research
The design of RIA accessibility evaluation tool
Advances in Engineering Software
Web object identification for web automation and meta-search
Proceedings of the 3rd International Conference on Web Intelligence, Mining and Semantics
Combining static and dynamic analysis for the reverse engineering of web applications
Proceedings of the 5th ACM SIGCHI symposium on Engineering interactive computing systems
Efficient and flexible GUI test execution via test merging
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Guided test generation for web applications
Proceedings of the 2013 International Conference on Software Engineering
Extracting URLs from JavaScript via program analysis
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Generating feature usage scenarios in client-side web applications
ICWE'13 Proceedings of the 13th international conference on Web Engineering
Building rich internet applications models: example of a better strategy
ICWE'13 Proceedings of the 13th international conference on Web Engineering
A brief history of web crawlers
CASCON '13 Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research
The DynaRIA tool for the comprehension of Ajax web applications by dynamic analysis
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
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. This 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.