MemInsight: platform-independent memory debugging for JavaScript

作者: Simon Holm Jensen , Manu Sridharan , Koushik Sen , Satish Chandra

DOI: 10.1145/2786805.2786860

关键词:

摘要: JavaScript programs often suffer from memory issues that can either hurt performance or eventually cause exhaustion. While existing snapshot-based profiling tools be helpful, the information provided is limited to coarse granularity at which snapshots taken. We present MemInsight, a tool provides detailed, time-varying analysis of behavior applications, including web applications. MemInsight platform independent and runs on unmodified engines. It employs tuned source-code instrumentation generate trace allocations accesses, it leverages modern browser features track precise for DOM (document object model) objects. also computes exact lifetimes without any garbage collector assistance, exposes this in an easily-consumable manner further analysis. describe several client analyses built into detection possible leaks opportunities stack allocation inlining. An experimental evaluation showed with no modifications runtime, was able expose real-world

参考文章(31)
Nick Mitchell, Gary Sevitsky, LeakBot: An Automated and Lightweight Tool for Diagnosing Memory Leaks in Large Java Applications european conference on object-oriented programming. pp. 351- 377 ,(2003) , 10.1007/978-3-540-45070-2_16
Julian Dolby, Andrew Chien, An automatic object inlining optimization and its evaluation Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation - PLDI '00. ,vol. 35, pp. 345- 357 ,(2000) , 10.1145/349299.349344
J. A. Pienaar, R. Hundt, JSWhiz: Static analysis for JavaScript memory leaks symposium on code generation and optimization. pp. 1- 11 ,(2013) , 10.1109/CGO.2013.6495007
Koushik Sen, Swaroop Kalasapur, Tasneem Brutch, Simon Gibbs, None, Jalangi: a selective record-replay and dynamic analysis framework for JavaScript foundations of software engineering. pp. 488- 498 ,(2013) , 10.1145/2491411.2491447
Guoqing Xu, Michael D Bond, Feng Qin, Atanas Rountev, None, LeakChaser: helping programmers narrow down causes of memory leaks programming language design and implementation. ,vol. 46, pp. 270- 282 ,(2011) , 10.1145/1993316.1993530
Ran Shaham, Elliot K. Kolodner, Mooly Sagly, On the Effectiveness of GC in Java. international symposium on memory management. ,vol. 36, pp. 12- 17 ,(2000)
Maria Jump, Kathryn S. McKinley, Cork: dynamic memory leak detection for garbage-collected languages symposium on principles of programming languages. ,vol. 42, pp. 31- 38 ,(2007) , 10.1145/1190215.1190224
Ran Shaham, Elliot K. Kolodner, Mooly Sagiv, Heap profiling for space-efficient Java Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation - PLDI '01. ,vol. 36, pp. 104- 113 ,(2001) , 10.1145/378795.378820
Darko Marinov, Robert O'Callahan, Object equality profiling Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications - OOPSLA '03. ,vol. 38, pp. 313- 325 ,(2003) , 10.1145/949305.949333
Rafael D. Lins, Cyclic reference counting with lazy mark-scan Information Processing Letters. ,vol. 44, pp. 215- 220 ,(1992) , 10.1016/0020-0190(92)90088-D