Skip to main content
Log in

The DynaRIA tool for the comprehension of Ajax web applications by dynamic analysis

  • SI: QUATIC 2010
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

Abstract

Thanks to the fast and growing diffusion of Rich Internet Applications (RIAs), the user experience in the Web 2.0 is becoming more and more appealing and user friendly. RIAs are indeed a new generation of Web applications that exploit a combination of technologies and new development patterns for providing a more interactive, responsive and dynamic user experience. Unfortunately, some characteristics of RIAs, such as the heterogeneity of the implementation technologies, as well as the possibility of dynamically generating the code of the application, cause a general worsening of their analyzability and understandability. Consequently, specific analysis techniques and tools are needed for supporting their comprehension effectively. This paper presents an approach for the comprehension of RIAs implemented in Ajax that is based on a tool for dynamic analysis called DynaRIA. The tool provides an integrated environment for tracing application executions and analyzing them from several perspectives. Moreover, the tool is able to abstract several views on the structure and run-time behavior of the application that can be used in various comprehension activities. To show the actual support provided by DynaRIA in different comprehension contexts, four case studies involving two real Ajax applications will be illustrated in the paper. The experimental results showed the usefulness and effectiveness of the tool in comprehension, debugging, testing and quality assessment scenarios.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. The complete version of this diagram and of other ones described in the case studies is available at http://wpage.unina.it/ptramont/DynaRIAfigures.htm.

References

  1. Adobe Flex (2011) http://www.adobe.com/products/flex/. Accessed 28th June 2011

  2. Ajax Frameworks (2011) http://ajaxpatterns.org/Ajax_Frameworks. Accessed 28th June 2011

  3. Amalfitano D, Fasolino AR, Tramontana P (2008) Reverse engineering finite state machines from Rich Internet applications. In: Proceedings of working conference on reverse engineering (WCRE 2008), IEEE CS Press, New York, pp 69–73

  4. Amalfitano D, Fasolino AR, Tramontana P (2009) Experimenting a reverse engineering technique for modelling the behavior of Rich Internet applications. In: Proceedings of international conference on software maintenance (ICSM 2009), IEEE CS Press, New York, pp 571–574

  5. Amalfitano D, Fasolino AR, Tramontana P (2010) Rich Internet application testing using execution trace data. In: Proceedings of second international workshop on TESTing techniques and experimentation benchmarks for event-driven software (TESTBEDS 2010), IEEE CS Press, New York, pp 274–283

  6. Amalfitano D, Fasolino AR, Polcaro A, and Tramontana P (2010) Comprehending Ajax Web applications by the DynaRIA tool. In: Proceedings of the 7th international conference on the quality of information and communications technology (QUATIC), IEEE CS Press, New York, pp 122–131

  7. Ajax Toolkit Framework Project (2011) http://www.eclipse.org/atf/. Accessed 28th June 2011

  8. Barton JJ, Odvarko J (2010) Dynamic and graphical Web page breakpoints. In: Proceedings of the 19th international world wide Web conference, WWW2010. http://getfirebug.com/doc/breakpoints/paper/breakpoints.pdf. Accessed 28th June 2011

  9. Canfora G, Di Penta M, Cerulo L (2011) Achievements and challenges in software reverse engineering. Commun. ACM 54(4): 142–151

    Google Scholar 

  10. Cornelissen B, Zaidman A, Van Deursen A (2009) Trace visualization for program comprehension: a controlled experiment. In: Proceedings of international conference on program comprehension (ICPC ‘09). IEEE CS Press, New York, pp 100–109

  11. Cornelissen B, Zaidman A, Van Deursen A, Moonen L, Koschke R (2009) A systematic survey of program comprehension through dynamic analysis. IEEE Trans Softw Eng 35(5):684–702

    Article  Google Scholar 

  12. DOM Inspector (2011) https://developer.mozilla.org/En/DOM_Inspector. Accessed 28th June 2011

  13. Di Penta M, Stirewalt REK, Kraemer E (2007) Designing your next empirical study on program comprehension. In: Proceedings of international conference on programa compre (ICPC 2007), IEEE CS Press, New York, pp 281–285

  14. W3C (2011) Document object model. http://www.w3.org/DOM/. Accessed 28th June 2011

  15. DynaTrace Ajax Edition (2011) http://ajax.dynatrace.com/pages/. Accessed 28th June 2011

  16. Duda C, Frey G, Kossmann D, Matter R, Zhou C (2009) AJAX Crawl: making AJAX applications searchable. In: Proceedings of IEEE international conference on data engineering. IEEE CS Press, New York, pp 78–89

  17. Ajax Film DB (2011) http://ajaxfilmdb.sourceforge.net/. Accessed 28th June 2011

  18. Firebug (2011) http://getfirebug.com/. Accessed 28th June 2011

  19. Garrett J (2005) AJAX: a new approach to Web applications. Adaptive path http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications. Accessed 28th June 2011

  20. JavaXPCom (2011) https://developer.mozilla.org/en/JavaXPCOM. Accessed 28th June 2011

  21. Marchetto A, Tonella P, Ricca F (2008) State-based testing of Ajax Web applications. In: Proceedings of international conference on software testing, verification and validation. IEEE CS Press, New York, pp 121–130

  22. Marchetto A, Tonella P (2009) Search-based testing of Ajax Web applications. In: Proceedings of 1st international symposium on search based software engineering. IEEE CS Press, New York, pp 3–12

  23. Matthijssen N, Zaidman A, Storey MA, Bull I, van Deursen A (2010) Connecting traces: understanding client–server interactions in Ajax applications. In: Proceedings of IEEE international conference on program comprehension (ICPC 2010). IEEE CS Press, New York, pp 216–225

  24. Matthijssen N, Zaidman A (2011) FireDetective: understanding ajax client/server interactions. In: Proceeding of the 33rd international conference on software engineering (ICSE ’11). ACM, pp 998–1000

  25. Mesbah A, Bozdag E, van Deursen A (2009) Crawling AJAX by inferring user interface state changes. In: Proceedings of eight international conference on Web engineering (ICWE 2009). IEEE CS Press, New York, pp 122–134

  26. Mesbah A, van Deursen A (2009) Invariant-based automatic testing of AJAX user interfaces. In: Proceedings of international conference on software engineering (ICSE 2009). IEEE CS Press, New York, pp 210–220

  27. Pacione MJ, Roper M, Wood M (2004) A novel software visualisation model to support program comprehension. In: Proceedings of 11th working conference on reverse engineering (WCRE ’04). IEEE CS Press, New York, pp 70–79

  28. Selenium (2011) http://seleniumhq.org/. Accessed 28th June 2011

  29. Microsoft Silverlight (2011) http://silverlight.net/. Accessed 28th June 2011

  30. Storey MA (2006) Theories, tools and research methods in program comprehension: past, present, future. Softw Qual J 14:187–208

  31. SWT: the standard widget toolkit (2011) http://www.eclipse.org/swt/. Accessed 28th June 2011

  32. Tilley SR, Smith DB, Paul S (1996) Towards a framework for program understanding. In: Proceedings of the 4th international workshop on program comprehension. IEEE CS Press, New York, pp 19–28

  33. Tudu Lists (2011) http://sourceforge.net/projects/tudu/. Accessed 28th June 2011

  34. Venkman JavaScript Debugger Project (2011) http://www.mozilla.org/projects/venkman/ Accessed June 28th, 2011

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Porfirio Tramontana.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Amalfitano, D., Fasolino, A.R., Polcaro, A. et al. The DynaRIA tool for the comprehension of Ajax web applications by dynamic analysis. Innovations Syst Softw Eng 10, 41–57 (2014). https://doi.org/10.1007/s11334-013-0207-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-013-0207-x

Keywords

Navigation