AjaxScope: A Platform for Remotely Monitoring the Client-side Behavior of Web 2.0 Applications

Emre Kıcıman and Ben Livshits

Abstract

The rise of the software-as-a-service paradigm has led to the development

of a new breed of sophisticated, interactive applications

often called Web 2.0. While web applications have become larger

and more complex, web application developers today have little

visibility into the end-to-end behavior of their systems. This paper

presents AjaxScope, a dynamic instrumentation platform that

enables cross-user monitoring and just-in-time control of web application

behavior on end-user desktops. AjaxScope is a proxy

that performs on-the-fly parsing and instrumentation of JavaScript

code as it is sent to users’ browsers. AjaxScope provides facilities

for distributed and adaptive instrumentation in order to reduce

the client-side overhead, while giving fine-grained visibility into

the code-level behavior of web applications. We present a variety

of policies demonstrating the power of AjaxScope, ranging from

simple error reporting and performance profiling to more complex

memory leak detection and optimization analyses. We also apply

our prototype to analyze the behavior of over 90 Web 2.0 applications

and sites that use large amounts of JavaScript.

Details

Publication typeProceedings
Published inthe 21st ACM Symposium on Operating Systems Principles (SOSP'07)
PublisherAssociation for Computing Machinery, Inc.
> Publications > AjaxScope: A Platform for Remotely Monitoring the Client-side Behavior of Web 2.0 Applications