Title :
Low-Overhead Run-Time Memory Leak Detection and Recovery
Author :
Tsai, Timothy ; Vaidyanathan, Kalyan ; Gross, Kenny
Author_Institution :
Sun MicroSysterms Inc., Mountain View, CA
Abstract :
Memory leaks are known to be a major cause of reliability and performance issues in software. This paper describes a run-time scheme that detects and removes memory leaks with minimal performance overhead and with no modifications to application source code. The scheme consists of a first stage where a pattern recognition technique proactively detects subtle memory leaks, followed by a more resource-intensive second stage that scans the memory space of an application and removes detected memory leaks. The pattern recognition technique in the first stage is based on the multivariate state estimation technique (MSET) which provides accurate detection of subtle memory leaks with very little overhead. The second stage is only activated when problems are identified by the first stage. For our prototype, this second stage is based on debugging and analysis tools provided by Solaris 10. Due to the low-overhead impact of the first stage, the system can be monitored for memory leaks without incurring noticeable performance degradation. We present and discuss some results from our unique proactive detection and debugging methodology
Keywords :
estimation theory; pattern recognition; software architecture; software performance evaluation; software reliability; storage management; system recovery; multivariate state estimation technique; pattern recognition technique; run-time memory leak detection; software architecture; software performance evaluation; software reliability; system recovery; Application software; Debugging; Degradation; Leak detection; Monitoring; Pattern recognition; Prototypes; Runtime; Software performance; State estimation;
Conference_Titel :
Dependable Computing, 2006. PRDC '06. 12th Pacific Rim International Symposium on
Conference_Location :
Riverside, CA
Print_ISBN :
0-7695-2724-8
DOI :
10.1109/PRDC.2006.42