Title :
Effective interprocedural resource leak detection
Author :
Torlak, Emina ; Chandra, Satish
Author_Institution :
T.J. Watson Res. Center, IBM, Yorktown Heights, NY, USA
Abstract :
Garbage collection relieves programmers from the burden of explicit memory management. However, explicit management is still required for finite system resources, such as I/O streams, fonts, and database connections. Failure to release unneeded system resources results in resource leaks, which can lead to performance degradation and system crashes. In this paper, we present a new tool, Tracker, that performs static analysis to find resource leaks in Java programs. Tracker is an industrial-strength tool that is usable in an interactive setting: it works on millions of lines of code in a matter of minutes and it has a low false positive rate. We describe the design, implementation and evaluation of Tracker, focusing on the features that make the tool scalable and its output actionable by the user.
Keywords :
Java; program diagnostics; storage management; Java programs; Tracker; explicit memory management; finite system resources; garbage collection; interprocedural resource leak detection; static analysis; Algorithm design and analysis; Buildings; Cognition; Computer bugs; Java; Leak detection; Resource management; alias analysis; inter-procedural analysis; resource leaks;
Conference_Titel :
Software Engineering, 2010 ACM/IEEE 32nd International Conference on
Conference_Location :
Cape Town
Print_ISBN :
978-1-60558-719-6
DOI :
10.1145/1806799.1806876