• DocumentCode
    1902898
  • Title

    JSWhiz: Static analysis for JavaScript memory leaks

  • Author

    Pienaar, J.A. ; Hundt, R.

  • fYear
    2013
  • fDate
    23-27 Feb. 2013
  • Firstpage
    1
  • Lastpage
    11
  • 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.
  • Keywords
    Java; Web sites; online front-ends; program compilers; program diagnostics; public domain software; storage management; Books; Closure; Docs; Gmail memory footprint reduction; Google Gmail; JSWhiz; JavaScript memory leaks; Spread-sheets; Web development frameworks; cross-browser issues; dynamic Web pages; garbage collection; memory bloat; open-source Closure JavaScript compiler; static analysis; user perceived latency; Browsers; Data structures; Google; Libraries; Manuals; Memory management; Open source software; JavaScript; Memory Leak; Optimization; Performance; Static Analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization (CGO), 2013 IEEE/ACM International Symposium on
  • Conference_Location
    Shenzhen
  • Print_ISBN
    978-1-4673-5524-7
  • Type

    conf

  • DOI
    10.1109/CGO.2013.6495007
  • Filename
    6495007