JS']JSWhiz Static Analysis for Java']JavaScript Memory Leaks

被引:0
作者
Pienaar, Jacques A. [1 ]
Hundt, Robert [2 ]
机构
[1] Purdue Univ, W Lafayette, IN 47907 USA
[2] Google Inc, Mountain View, CA USA
来源
PROCEEDINGS OF THE 2013 IEEE/ACM INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION (CGO) | 2013年
关键词
Optimization; Performance; Static Analysis; Memory Leak; !text type='Java']Java[!/text]Script;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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, Spreadsheets, 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.
引用
收藏
页码:313 / 323
页数:11
相关论文
共 27 条
[1]   An Overview of the Saturn Project [J].
Aiken, Alex ;
Bugrara, Suhabe ;
Dillig, Isil ;
Dillig, Thomas ;
Hackett, Brian ;
Hawkins, Peter .
PASTE'07 PROCEEDINGS OF THE 2007 ACM SIGPLAN- SIGSOFT WORKSHOP ON PROGRAM ANALYSIS FOR SOFTWARE TOOLS & ENGINEERING, 2007, :43-48
[2]  
[Anonymous], 2011, JQUERY MEMORY LEAK P
[3]  
[Anonymous], 2011, AVOID MEMORY LEAKS D
[4]  
[Anonymous], 2011, DO PROPER MEMORY MAN
[5]   Using static analysis to find bugs [J].
Ayewah, Nathaniel ;
Pugh, William ;
Hovemeyer, David ;
Morgenthaler, J. David ;
Penix, John .
IEEE SOFTWARE, 2008, 25 (05) :22-29
[6]  
Bhattacharya A., 2007, MEMORY LEAK PATTERNS
[7]  
Bolin Michael, 2010, OREILLY SERIES
[8]   Bell: Bit-encoding online memory leak detection [J].
Bond, Michael D. ;
McKinley, Kathryn S. .
ACM SIGPLAN NOTICES, 2006, 41 (11) :61-72
[9]  
Chaffer J., 2011, Learning jQuery
[10]   Practical memory leak detection using guarded value-flow analysis [J].
Cherem, Sigmund ;
Princehouse, Lonnie ;
Rugina, Radu .
ACM SIGPLAN NOTICES, 2007, 42 (06) :480-491