{"title":"Low-Overhead Run-Time Memory Leak Detection and Recovery","authors":"Timothy Tsai, K. Vaidyanathan, K. Gross","doi":"10.1109/PRDC.2006.42","DOIUrl":null,"url":null,"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","PeriodicalId":314915,"journal":{"name":"2006 12th Pacific Rim International Symposium on Dependable Computing (PRDC'06)","volume":"27 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2006-12-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2006 12th Pacific Rim International Symposium on Dependable Computing (PRDC'06)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PRDC.2006.42","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13
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