The Community for Technology Leaders
RSS Icon
Subscribe
Shenzhen, China China
Feb. 23, 2013 to Feb. 27, 2013
ISBN: 978-1-4673-5524-7
pp: 1-11
Jacques A. Pienaar , Purdue University
Robert Hundt , Google, Inc.
ABSTRACT
JavaScript is the dominant language for implementing dynamic web pages in browsers. Even though it is standardized, many browsers implement language and browser bindings in different and incompatible ways. As a result, a plethora of web development frameworks were developed to hide cross-browser issues and to ease development of large web applications. An unwelcome side-effect of these frameworks is that they can introduce memory leaks, despite the fact that JavaScript is garbage collected. Memory bloat is a major issue for web applications, as it affects user perceived latency and may even prevent large web applications from running on devices with limited resources. In this paper we present JSWhiz, an extension to the open-source Closure JavaScript compiler. Based on experiences analyzing memory leaks in Gmail, JSWhiz detects five identified common problem patterns. JSWhiz found a total of 89 memory leaks across Google's Gmail, Docs, Spread-sheets, Books, and Closure itself. It contributed significantly in a recent effort to reduce Gmail memory footprint, which resulted in bloat reduction of 75% at the 99th percentile, and by roughly 50% at the median.
INDEX TERMS
JavaScript, Optimization, Performance, Static Analysis, Memory Leak
CITATION
Jacques A. Pienaar, Robert Hundt, "JSWhiz: Static analysis for JavaScript memory leaks", CGO, 2013, Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO), Proceedings of the 2013 IEEE/ACM International Symposium on Code Generation and Optimization (CGO) 2013, pp. 1-11, doi:10.1109/CGO.2013.6495007
37 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool