LeakChaser: Helping Programmers Narrow Down Causes of Memory Leaks
BibTeX
@MISC{Xu_leakchaser:helping,
author = {Guoqing Xu and Michael D. Bond and Feng Qin and Atanas Rountev},
title = {LeakChaser: Helping Programmers Narrow Down Causes of Memory Leaks},
year = {}
}
OpenURL
Abstract
In large programs written in managed languages such as Java and C#, holding unnecessary references often results in memory leaks and bloat, degrading significantly their run-time performance and scalability. Despite the existence of many leak detectors for such languages, these detectors often target low-level objects; as a result, their reports contain many false warnings and lack sufficient semantic information to help diagnose problems. This paper introduces a specification-based technique called LeakChaser that can not only capture precisely the unnecessary references leading to leaks, but also explain, with high-level semantics, why these references become unnecessary. At the heart of LeakChaser is a three-tier approach that uses varying levels of abstraction to assist programmers with different skill levels and code familiarity to find leaks. At the highest tier







