DynaRIA: a Tool for Ajax Web Application Comprehension Dipartimento di Informatica e Sistemistica University of Naples “Federico II”, Italy Domenico Amalfitano.

Slides:



Advertisements
Similar presentations
1/7 ITApplications XML Module Session 8: Introduction to Programming with XML.
Advertisements

Web Applications Development Using Coldbox Platform Eddie Johnston.
Embedded Web Hyung-min Koo. 2 Table of Contents Introduction of Embedded Web Introduction of Embedded Web Advantages of Embedded Web Advantages of Embedded.
ProJAX An AJAX Framework for Progress Tom Bascom President Greenfield Technologies
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Task Scheduling and Distribution System Saeed Mahameed, Hani Ayoub Electrical Engineering Department, Technion – Israel Institute of Technology
AJAX Presented by: Dickson Fu Dimas Ariawan Niels Andreassen Ryan Dial Jordan Nielson CMPUT 410 University of Alberta 2006.
Collaborative Picture Gallery Project Presentation Amos Hersch Aviad Barzilai Supervisor Maxim Gurevitch Lab Chief Eng. Ilana David.
Cloud Computing Lecture #7 Introduction to Ajax Jimmy Lin The iSchool University of Maryland Wednesday, October 15, 2008 This work is licensed under a.
Architecture, Deployment Diagrams, Web Modeling Elizabeth Bigelow CS-15499C October 6, 2000.
Hello Vaadin! CS 3130 Summer 2015.
1 JavaScript & AJAX CS , Spring JavaScript.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Prof. James A. Landay University of Washington Spring 2008 Web Interface Design, Prototyping, and Implementation Rich Internet Applications: AJAX, Server.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Introduction to AJAX AJAX Keywords: JavaScript and XML
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
JavaScript & jQuery the missing manual Chapter 11
1 Ajax. 2 What’s Ajax? AJAX is a combination of a few technologies that has come together in the past few years AJAX used to be an acronym for Asynchronous.
Philly.NET Hands-on Labs JAVASCRIPT SERIES. July 9: JavaScript Syntax Visual Studio ◦Projects ◦Editors ◦Debugging ◦Script blocks ◦Minification and bundling.
WaveMaker Visual AJAX Studio 4.0 Training Troubleshooting.
May 16 – 18, 2007 Copyright 2007, Data Access Worldwide May 16 – 18, 2007 Copyright 2007, Data Access Worldwide Build Great Web Application 'Fast and Easy'
Ruth Betcher Ruth Christie
XForms: A case study Rajiv Shivane & Pavitar Singh.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
Ajax Technology for the Web Nic Shulver, FCET, Staffordshire University Introduction What is it? Pros and Cons Why is it important? Traditional Client-Server.
Instructor, Dr. Khalili Bahram Jeevan Kumar Gogineni.
The Web Architecture and ASP.NET. Slide 2 Review of the Web (1) It began with HTTP and HTML, which delivers static Web pages to browsers which would render.
Weekend MS CS Program Internet and Web Technologies COT 5930 Web Project Development - Ajax Dr. Roy Levow, Associate Chair & Professor
Assorted Topics Introduction AJAX What is it? Why is it important? Examples of live applications Cloud Computing What is it? Why.
AjaxScope & Doloto: Towards Optimizing Client-side Web 2.0 App Performance Ben Livshits Microsoft Research (joint work with Emre.
Random Logic l Forum.NET l AJAX Behind the buzz word Forum.NET ● January 23, 2006.
Ventsislav Popov Crossroad Ltd.. 1. What is AJAX?  AJAX Concept  ASP.NET AJAX Framework 2. ASP.NET AJAX Server Controls  ScriptManager, UpdatePanel.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
FireBug. What is Firebug?  Firebug is a powerful tool that allows you to edit HTML, CSS and view the coding behind any website: CSS, HTML, DOM and JavaScript.
Database Handling, Sessions, and AJAX. Post Back ASP.NET Functionality The IsPostBack method in ASP.NET is similar to the BlackBerry.refresh method –IsPostBack.
AJAX Compiled from “AJAX Programming” [Sang Shin] (Asynchronous JavaScript and XML)
.  A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection.
Developing MVC based AJAX applications Kapil Mohan Rich Internet Application Developer, Uzanto Consulting A talk by.
REAL WORLD AJAX MARCH TIBCO USER CONFERENCE / 2004 Enterprise Rich Internet Applications with AJAX Real World Case Studies with TIBCO General Interface™
Web Technology Introduction AJAXAJAX. AJAX Outline  What is AJAX?  Benefits  Real world examples  How it works  Code review  Samples.
the acronym for Asynchronous JavaScript and XML.
Ajax for Dynamic Web Development Gregory McChesney.
Chapter 16: Ajax-Enabled Rich Internet Applications with XML and JSON TP2543 Web Programming Mohammad Faidzul Nasrudin.
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
 AJAX – Asynchronous JavaScript and XML  Ajax is used to develop fast dynamic web applications  Allows web pages to be updated asynchronously by transferring.
Presentation.
CSC 520 – Advanced Object Oriented Programming, Fall, 2010 Thursday, October 14 Week 7, UML Diagrams
Event Handling & AJAX IT210 Web Systems. Question How do we enable users to dynamically interact with a website? Answer: Use mouse and keyboard to trigger.
AJAX and REST. Slide 2 What is AJAX? It’s an acronym for Asynchronous JavaScript and XML Although requests need not be asynchronous It’s not really a.
Web Technology (NCS-504) Prepared By Mr. Abhishek Kesharwani Assistant Professor,UCER Naini,Allahabad.
AJAX CS456 Fall Examples Where is AJAX used? Why do we care?
Navigation Framework using CF Architecture for a Client-Server Application using the open standards of the Web presented by Kedar Desai Differential Technologies,
Introduction to ASP.NET development. Background ASP released in 1996 ASP supported for a minimum 10 years from Windows 8 release ASP.Net 1.0 released.
ConTZole Tomáš Kubeš, 2010 atlas-tz-monitoring.cern.ch An Interactive ATLAS Tier-0 Monitoring.
Ext JS - Direct Bridging The Gap A DMSBT Presentation By Timothy Chandler.
Open Solutions for a Changing World™ Eddy Kleinjan Copyright 2005, Data Access WordwideNew Techniques for Building Web Applications June 6-9, 2005 Key.
Ajax & Client-side Dynamic Web Gunwoo Park (Undergraduate)
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
Best Institutes offering Software Development courses.
AJAX and REST.
Asynchronous Java script And XML Technology
AJAX.
CSE 154 Lecture 22: AJAX.
COP 3813 Intro to Internet Computing
AJAX By Prof. B.A.Khivsara
Presentation transcript:

DynaRIA: a Tool for Ajax Web Application Comprehension Dipartimento di Informatica e Sistemistica University of Naples “Federico II”, Italy Domenico Amalfitano Anna Rita Fasolino Armando Polcaro Porfirio Tramontana 18th IEEE International Conference on Program Comprehension Braga, Portugal 30 June - 2 July, 2010

Background ICPC 2010, Braga, Portugal; 30 june - 2 july, 2010 Ajax is a set of Web Technologies (XHTML, JavaScript, XML, and XMLHttpRequest) used for implementing a new generation of Web applications (Rich Internet Applications). Key aspects of Ajax applications: ▫The UI is composed by widgets that are updated, deleted or added independently at run time. ▫The UI is dynamically built on the basis of the events that are fired by the user. ▫Events are managed by an Ajax Engine (AE). The Ajax Engine (AE) composed of JavaScript modules ▫manipulates the UI components, ▫communicates with the server (exchanges few amounts of data, by asynchronous or synchronous requests) Most popular examples are: Google Maps, Flickr, Gmail, etc.

Challenges for AJAX application comprehension Heterogeneous nature (JS, DOM, XML,...) ▫Several parsers are needed Dynamically configured code (JS code is loaded or built at run-time) ▫code static analysis is not sufficient Based on large variety of frameworks ▫make their behaviour opaque and complicate the analysis of generated code DynaRIA is a tool designed for the comprehension of Ajax applications based on dynamic analysis of user sessions. It produces several types of abstractions and visualizations about the run-time behaviour of the application. ICPC 2010, Braga, Portugal; 30 june - 2 july, 2010

The approach of DynaRIA –user session analysis User sessions are traced and recorded through the Web browser offered by DynaRIA. Each user session trace collets the following data: ▫User events fired on widgets of the UI. ▫JavaScript functions activated by user event handlers. ▫Executed lines of code of JS functions. ▫Changes (such as add, delete, or change) to UI widgets by DOM analysis. ▫Message exchanges between client and server. ▫Exceptions and errors occurred at run time (such as JavaScript errors, Network warnings, etc.). Collected information about user sessions are shown in several Session Monitor Views provided by the tool. ICPC 2010, Braga, Portugal; 30 june - 2 july, 2010

The approach of DynaRIA – UML sequence diagram abstraction DynaRIA abstracts UML sequence diagrams at various levels of detail and abstraction from each user session or from its parts. UML sequence diagrams are viewed and managed by another tool, dynaRIA Sequence Diagram Viewer. ICPC 2010, Braga, Portugal; 30 june - 2 july, 2010 Excerpt of an high level UML sequence diagramExcerpt of a low level UML sequence diagram

The approach of DynaRIA – testing and debugging activity support DynaRIA provides functionalities of Capture & Replay. During user session replay, the tool: ▫traces the JS code execution and keeps track of performed network traffic, ▫detects run-time JS exceptions (such as JS syntax errors, array out of bound errors, etc.) and network warning occurred at run-time. The tool computes several JS code coverage metrics with respect to a replayed set of user sessions. ICPC 2010, Braga, Portugal; 30 june - 2 july, 2010