Browse > Article

Memory Leak Detection Using Adaptive Cyclic Memory Allocation  

Lim, Woo-Sup (성균관대학교 임베디드소프트웨어학과)
Han, Hwan-Soo (성균관대학교 정보통신공학부)
Lee, Sang-Won (성균관대학교 정보통신공학부)
Abstract
There are many memory leak detection tools. However, programmers, who develop very large programs, tend to avoid testing their programs with memory leak detection tools since these tools require runtime and space overheads. Thus, we present a memory leak detection technique which enables programmers to test their modules in their unit test phase with low overheads. To achieve this goal, we extend the existing cyclic memory allocation technique and evaluate our memory leak detection technique on a tiny DBMS. In our experiments, we find our tool has reasonably low runtime and space overheads and it reports only a small number of false positives.
Keywords
Memory leaks; Dynamic analysis; Cyclic memory allocation;
Citations & Related Records
연도 인용수 순위
  • Reference
1 The Linux man-pages project., Available: http://www.kernel.org/doc/man-pages/online/pages/man3/malloc_hook.3.html
2 RedBase Project., Available: http://infolab.stanford.edu/-widom /cs346/project.html
3 D. L. Heine and M. S. Lam, "A Practical Flow- Sensitive and Context-Sensitive C and C++ Memory Leak detector," In ACM SIGPLAN Conference on Programming Language Design and Implementation(PLDI), pp.168-181, 2003.
4 Y. Xie and A. Aiken, "Context- and Path-Sensitive Memory Leak Detection," In the 5th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESAC/FSE), pp.115-125, 2005.
5 S. Cherem, L. Princehouse, and R. Rugina, "Practical Memory Leak Detection using Guarded Value-flow Analysis," In the 2007 ACM SIGPLAN Conference on Programming language design and implementation(PLDI), pp.480-491, 2007.
6 G. Novark and E. D. Berger, "Efficiently and Precisely Locating Memory Leaks and Bloat," In Programming Languages Design and Implementation(PLDI), pp.397-407, 2009.
7 R. Hastings and B. Joyce, "Fast Detection of Memory Leaks and Access Errors," In the Winter '92 USENIX conference, pp.125-136, 1992.
8 Microsoft TechNet, Microsoft Corporation, "Memory Leak Diagnoser," 2007.
9 M. D. Bond and K. S. McKinley, "Tolerating Memory Leaks," In the 23rd Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications(OOPSLA), pp.109-126, 2008.
10 Y. Tang, Q. Gao, and F. Qin, "LeakSurvivor: Towards Safely Tolerating Memory Leaks for Garbage-Collected Languages," In the 2008 USENIX Annual Technical Conference, pp.307-320, 2008.
11 C. K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V. J. Reddi, and K. Hazelwood, "Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation," In Programming Languages Design and Implementation(PLDI), pp.190-200, June 2005.
12 Valgrind-project., Available: http://www.valgrind.org
13 H. H. Nguyen and M. Rinard, "Detecting and Eliminating Memory Leaks Using Cyclic Memory Allocation," In International Symposium on Memory Management(ISMM), pp.15-30, October 2007.
14 T. M. Chilimbi and M. Hauswirth, "Low-Overhead Memory Leak Detection Using Adaptive Statistical Profiling," In Architectural Support for Programming Languages and Operating Systems(ASPLOS), pp.156-164, October 2004.