Building Rich Internet Applications Models: Example of a Better Strategy

  • Suryakant Choudhary
  • Mustafa Emre Dincturk
  • Seyed M. Mirtaheri
  • Guy-Vincent Jourdan
  • Gregor v. Bochmann
  • Iosif Viorel Onut
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7977)

Abstract

Crawling “classical” web applications is a problem that has been addressed more than a decode ago. Efficient crawling of web applications that use advanced technologies such as AJAX (called Rich Internet Applications, RIAs) is still an open problem. Crawling is important not only for indexing content, but also for building models of the applications, which is necessary for automated testing, automated security and accessibility assessments and in general for using software engineering tools. This paper presents a new strategy to crawl RIAs. It uses the concept of Model-Based Crawling (MBC) first introduced in [1], and introduces a new model, the “menu model”, which we show to be much simpler than previous models for MBC and more effective at building models than previously published methods. This method and others are compared against a set of experimental and real RIAs.

Keywords

Crawling RIAs AJAX Modeling 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Benjamin, K., von Bochmann, G., Dincturk, M.E., Jourdan, G.-V., Onut, I.V.: A strategy for efficient crawling of rich internet applications. In: Auer, S., Díaz, O., Papadopoulos, G.A. (eds.) ICWE 2011. LNCS, vol. 6757, pp. 74–89. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  2. 2.
    Olston, C., Najork, M.: Web crawling. Found. Trends Inf. Retr. 4(3), 175–246 (2010)MATHCrossRefGoogle Scholar
  3. 3.
    World Wide Web Consortium (W3C): Document Object Model (DOM) (2005), http://www.w3.org/DOM/
  4. 4.
    Garrett, J.J.: Ajax: A new approach to web applications (2005), http://www.adaptivepath.com/publications/essays/archives/000385.php
  5. 5.
    Choudhary, S., Dincturk, M.E., Mirtaheri, S.M., Moosavi, A., von Bochmann, G., Jourdan, G.V., Onut, I.V.: Crawling rich internet applications: the state of the art. In: Proceedings of the 2012 Conference of the Center for Advanced Studies on Collaborative Research, CASCON 2012, pp. 146–160 (2012)Google Scholar
  6. 6.
    Choudhary, S., Dincturk, M.E., Bochmann, G.V., Jourdan, G.V., Onut, I.V., Ionescu, P.: Solving some modeling challenges when testing rich internet applications for security. In: 2012 International Conference on Software Testing, Verification, and Validation, pp. 850–857 (2012)Google Scholar
  7. 7.
    Eiselt, H.A., Gendreau, M., Laporte, G.: Arc routing problems, part ii: The rural postman problem. Operations Research 43(3), 399–414 (1995)MathSciNetMATHCrossRefGoogle Scholar
  8. 8.
    Choudhary, S.: M-crawler: Crawling rich internet applications using menu meta-model. Master’s thesis, EECS - University of Ottawa (2012), http://ssrg.site.uottawa.ca/docs/Surya-Thesis.pdf
  9. 9.
    Peng, Z., He, N., Jiang, C., Li, Z., Xu, L., Li, Y., Ren, Y.: Graph-based ajax crawl: Mining data from rich internet applications. In: 2012 International Conference on Computer Science and Electronics Engineering (ICCSEE), vol. 3, pp. 590–594 (March 2012)Google Scholar
  10. 10.
    Dincturk, M.E., Choudhary, S., von Bochmann, G., Jourdan, G.-V., Onut, I.V.: A statistical approach for efficient crawling of rich internet applications. In: Brambilla, M., Tokuda, T., Tolksdorf, R. (eds.) ICWE 2012. LNCS, vol. 7387, pp. 362–369. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  11. 11.
    Carpaneto, G., Dell’Amico, M., Toth, P.: Exact solution of large-scale, asymmetric traveling salesman problems. ACM Trans. Math. Softw. 21(4), 394–409 (1995)MathSciNetMATHCrossRefGoogle Scholar
  12. 12.
    Mesbah, A., van Deursen, A., Lenselink, S.: Crawling ajax-based web applications through dynamic analysis of user interface state changes. TWEB 6(1), 3 (2012)CrossRefGoogle Scholar
  13. 13.
    Benjamin, K., Bochmann, G.V., Jourdan, G.V., Onut, I.V.: Some modeling challenges when testing rich internet applications for security. In: Proceedings of the 2010 Third International Conference on Software Testing, Verification, and Validation Workshops, ICSTW 2010, pp. 403–409. IEEE Computer Society, Washington, DC (2010)CrossRefGoogle Scholar
  14. 14.
    Duda, C., Frey, G., Kossmann, D., Zhou, C.: Ajaxsearch: crawling, indexing and searching web 2.0 applications. Proc. VLDB Endow. 1(2), 1440–1443 (2008)Google Scholar
  15. 15.
    Duda, C., Frey, G., Kossmann, D., Matter, R., Zhou, C.: Ajax crawl: Making ajax applications searchable. In: Proceedings of the 2009 IEEE International Conference on Data Engineering, ICDE 2009, pp. 78–89. IEEE Computer Society, Washington, DC (2009)Google Scholar
  16. 16.
    Frey, G.: Indexing ajax web applications. Master’s thesis, ETH Zurich (2007), http://e-collection.library.ethz.ch/eserv/eth:30111/eth-30111-01.pdf
  17. 17.
    Page, L., Brin, S., Motwani, R., Winograd, T.: The pagerank citation ranking: Bringing order to the web, Standford University, Technical Report (1998)Google Scholar
  18. 18.
    Roest, D., Mesbah, A., van Deursen, A.: Regression testing ajax applications: Coping with dynamism. In: ICST, pp. 127–136. IEEE Computer Society (2010)Google Scholar
  19. 19.
    Bezemer, C.P., Mesbah, A., van Deursen, A.: Automated security testing of web widget interactions. In: Proceedings of the the 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering, ESEC/FSE 2009, pp. 81–90. ACM, New York (2009)Google Scholar
  20. 20.
    Mesbah, A., van Deursen, A.: Invariant-based automatic testing of ajax user interfaces. In: IEEE 31st International Conference on Software Engineering, ICSE 2009, pp. 210–220 (May 2009)Google Scholar
  21. 21.
    Mesbah, A., Bozdag, E., Deursen, A.V.: Crawling ajax by inferring user interface state changes. In: Proceedings of the 2008 Eighth International Conference on Web Engineering, ICWE 2008, pp. 122–134. IEEE Computer Society, Washington, DC (2008)CrossRefGoogle Scholar
  22. 22.
    Levenshtein, V.: Binary Codes Capable of Correcting Deletions, Insertions and Reversals. Soviet Physics Doklady 10, 707 (1966)MathSciNetGoogle Scholar
  23. 23.
    Marchetto, A., Tonella, P., Ricca, F.: State-based testing of ajax web applications. In: Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation, ICST 2008, pp. 121–130. IEEE Computer Society, Washington, DC (2008)CrossRefGoogle Scholar
  24. 24.
    Artzi, S., Dolby, J., Jensen, S.H., Møller, A., Tip, F.: A framework for automated testing of JavaScript web applications. In: Proc. 33rd International Conference on Software Engineering (ICSE) (May 2011)Google Scholar
  25. 25.
    Amalfitano, D., Fasolino, A.R., Tramontana, P.: Reverse engineering finite state machines from rich internet applications. In: Proceedings of the 2008 15th Working Conference on Reverse Engineering, WCRE 2008, pp. 69–73. IEEE Computer Society, Washington, DC (2008)CrossRefGoogle Scholar
  26. 26.
    Amalfitano, D., Fasolino, A.R., Tramontana, P.: Rich internet application testing using execution trace data. In: Proceedings of the 2010 Third International Conference on Software Testing, Verification, and Validation Workshops, ICSTW 2010, pp. 274–283. IEEE Computer Society, Washington, DC (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Suryakant Choudhary
    • 1
  • Mustafa Emre Dincturk
    • 1
  • Seyed M. Mirtaheri
    • 1
  • Guy-Vincent Jourdan
    • 1
    • 2
  • Gregor v. Bochmann
    • 1
    • 2
  • Iosif Viorel Onut
    • 3
    • 4
  1. 1.EECSUniversity of OttawaCanada
  2. 2.IBM Canada CAS ResearchCanada
  3. 3.IBM® Security AppScan®, Security SystemsResearch and DevelopmentCanada
  4. 4.IBM Canada Software LabCanada

Personalised recommendations