DepTracker : tracking JavaScript dependencies on the web

Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015.

Bibliographic Details
Main Author: Goyal, Ameesh Kumar
Other Authors: Hari Balakrishnan.
Format: Thesis
Language:eng
Published: Massachusetts Institute of Technology 2015
Subjects:
Online Access:http://hdl.handle.net/1721.1/100162
_version_ 1826201779023380480
author Goyal, Ameesh Kumar
author2 Hari Balakrishnan.
author_facet Hari Balakrishnan.
Goyal, Ameesh Kumar
author_sort Goyal, Ameesh Kumar
collection MIT
description Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015.
first_indexed 2024-09-23T11:57:05Z
format Thesis
id mit-1721.1/100162
institution Massachusetts Institute of Technology
language eng
last_indexed 2024-09-23T11:57:05Z
publishDate 2015
publisher Massachusetts Institute of Technology
record_format dspace
spelling mit-1721.1/1001622019-04-10T14:04:59Z DepTracker : tracking JavaScript dependencies on the web Dependency tracking Tracking JavaScript dependencies on the web Goyal, Ameesh Kumar Hari Balakrishnan. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015. This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections. Title as it appears in MIT Commencement Exercises program, June 5, 2015: Dependency tracking. Cataloged from student-submitted PDF version of thesis. Includes bibliographical references (pages 49-50). Identifying the performance bottlenecks of Web pages is often the first step in reducing page load times. Existing models of Web pages (dependency graphs) ignore the dynamic interactions of JavaScript objects along these critical paths. Current dependency graphs solely include the dependencies that arise from a Web object triggering a new HTTP request. This thesis presents DepTracker, a tool that captures dynamically generated dependencies between JavaScript objects on a Web page. These JavaScript dependencies give a more accurate picture of the network and computational resources contributing to the critical path. DepTracker works in conjunction with an HTTP record-and-replay framework, Mahimahi [17], to track reads and writes to the JavaScript global namespace during actual page loads. We classify dependencies into three categories: write-read, read-write, and write-write. Preserving each of these dependencies maintains the consistency of JavaScript execution on Web pages. For each dependency tracked, DepTracker provides developers with relevant line numbers in the source code, variable names, and values that are assigned and read. This information is particularly useful to Web developers seeking to speed up accesses to their websites by reordering individual objects. We use DepTracker, along with Mahimahi, to expose dependencies on 10 popular Web pages. We find that each Web page includes dependencies between JavaScript objects that are not captured by existing dependency graphs. For our corpus of test sites, we find that graphs that include JavaScript dependencies tracked by DepTracker include 32% and 73% more edges than default dependency graphs, at the median and 95th percentile, respectively. by Ameesh Kumar Goyal. M. Eng. 2015-12-07T20:09:26Z 2015-12-07T20:09:26Z 2015 2015 Thesis http://hdl.handle.net/1721.1/100162 928920895 eng M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission. http://dspace.mit.edu/handle/1721.1/7582 50 pages application/pdf Massachusetts Institute of Technology
spellingShingle Electrical Engineering and Computer Science.
Goyal, Ameesh Kumar
DepTracker : tracking JavaScript dependencies on the web
title DepTracker : tracking JavaScript dependencies on the web
title_full DepTracker : tracking JavaScript dependencies on the web
title_fullStr DepTracker : tracking JavaScript dependencies on the web
title_full_unstemmed DepTracker : tracking JavaScript dependencies on the web
title_short DepTracker : tracking JavaScript dependencies on the web
title_sort deptracker tracking javascript dependencies on the web
topic Electrical Engineering and Computer Science.
url http://hdl.handle.net/1721.1/100162
work_keys_str_mv AT goyalameeshkumar deptrackertrackingjavascriptdependenciesontheweb
AT goyalameeshkumar dependencytracking
AT goyalameeshkumar trackingjavascriptdependenciesontheweb