Browse > Article
http://dx.doi.org/10.3745/KIPSTA.2011.18A.2.061

PinMemcheck: Pin-Based Memory Leakage Detection Tool for Mobile Device Development  

Jo, Kyong-Jin (고려대학교 전기전자전파공학과)
Kim, Seon-Wook (고려대학교 전기전자전파공학과)
Abstract
Memory error debugging is one of the most critical processes in improving software quality. However, due to the extensive time consumed to debug, the enhancement often leads to a huge bottle neck in the development process of mobile devices. Most of the existing memory error detection tools are based on static error detection; however, the tools cannot be used in mobile devices due to their use of large working memory. Therefore, it is challenging for mobile device vendors to deliver high quality mobile devices to the market in time. In this paper, we introduce "PinMemcheck", a pin-based memory error detection tool, which detects all potential memory errors within $1.5{\times}$ execution time overhead compared with that of a baseline configuration by applying the Pin's binary instrumentation process and a simple data structure.
Keywords
Memory Error Detection Tool; Memory Leakage;
Citations & Related Records
Times Cited By KSCI : 3  (Citation Analysis)
연도 인용수 순위
1 G. Contreras and M. Martonosi, "Power prediction for Intel $XScale^{(R)}$ processors using performance monitoring unit events", In Proceedings of the 2005 international symposium on Low power electronics and design, pp.201-226, 2005.
2 Intel, "Intel PXA27x Processor Family Developer's Manual", 2004.
3 N. Nethercote and J. Seward, "Valgrind: A framework for heavyweight dynamic binary instrumentation", In Proceedings of Programming Language Design and Implementation (PLDI), pp.89-100, 2007.
4 IBM Rational software, "IBM Rational Purify", http://www.rational.com.
5 QUALCOMM Incorporation, "Brew", http://brew.qualcomm.com/brew/en/developer/getting_started/get_started.html
6 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 Proceedings of Programming Language Design and Implementation (PLDI), pp.191-200, 2005.
7 N. Nethercote, "Dynamic Binary Analysis and Instrumentation", PhD thesis, Computer Laboratory, University of Cambridge, United Kingdom, 2004.
8 B. M. Cantrill, M. W. Shapiro and A. H. Leventhal, Dynamic instrumentation of production systems, In Proceedings of USENIX Annual Technical Conference (ATEC), 2004.
9 D. L. Bruening, "Efficient, Transparent, and Comprehensive Runtime Code Manipulation", PhD thesis, M.I.T. (http://www.cag.lcs.mit.edu/dynamorio/), 2004.
10 T. Horel and G. Lauterbach, "UltraSPARC-III: Designing Third-Generation 64-Bit Performance", In Proceedings of the International Symposium on Microarchitecture (MICRO), Vol.19, No.7, pp.73-85, 1999.
11 Intel, "Intel Extended Memory 64 Technology Software Developer's Guide", Vol.1-2, 2004.
12 Intel, "IA-32 Intel Architecture Software Developer's Manual", Vol.1-3, 2003.
13 R. N. Kalla, B. Sinharoy and J. M. Tendler, "IBM Power5 chip: A dual-core multithreaded processor", In Proceedings of the International Symposium on Microarchitecture (MICRO) / pp.40-47, 2004.
14 J. Kong, C. C. Zou and H. Zhou, "Improving software security via runtime instruction-level taint checking", In Proceedings of the 1st workshop on Architectural and system support for improving software dependability, pp.18-24, 2006.
15 유용덕, 박상현, 최훈. "응용프로그램 특성을 고려한 모바일 플랫폼의 동적 메모리 관리기법", 정보처리학회논문지A, 제13권 제7호, pp.561-572, 2006.   과학기술학회마을   DOI   ScienceOn
16 정진우, 장승주. "임베디드 시스템에서 가상 메모리 압축 시스템 설계", 정보처리학회논문지A, 제9권 제4호, pp.405-412, 2002.   과학기술학회마을   DOI   ScienceOn
17 조대완, 오승욱, 김현수. "C언어 기반 프로그램의 소스코드 분석을 이용한 메모리 접근오류 자동검출 기법", 정보처리학회논문지D, 제14권 제6호, pp.675-688, 2007.   과학기술학회마을   DOI   ScienceOn
18 A. Kolawa and A. Hicken, "Insure++: A tool to support total quality software", www.parasoft.com/insure/papers/tech.htm.
19 J. Gray, "Why do computers stop and what can be done about it?", HP Labs Technical Reports / TR-85.7.
20 N. Nethercote and J. Seward, "Valgrind: A program supervision framework", In Proceedings of the 3rd Workshop on Runtime Verification, 2003.
21 Intel, "Intel Itanium Architecture Software Developer's Manual", Vol.1-4, 2002.
22 H. Q. Le, W. J. Starke, J. S. Fields, F. P. O'Connell, D. Q. Nguyen, B. J. Ronchetti, W. M. Sauer, E. M. Schwarz and M. T. Vaden, "IBM POWER6 microarchitecture", IBM Journal of Research and Development, Vol.51, No.6, pp.639-662, 2007.   DOI
23 A. Srivastava and A. Eustace, "Atom: A system for building customized program analysis tools", In Proceedings of Programming Language Design and Implementation (PLDI), pp.196-205, 1994.