Browse > Article

Design of an Automated Testing Tool to Detect Dynamic Memory Access Errors in C Programs  

Cho, Dae-Wan (충남대학교 컴퓨터공학과)
Oh, Seung-Uk (슈어소프트테크(주) 연구소)
Kim, Hyeon-Soo (충남대학교 컴퓨터공학과)
Abstract
Memory access errors are frequently occurred in computer programs written in C programming language [1,2]. Accordingly, a number of research works have suggested a wide variety of methods to detect such errors automatically. However, they have one or more of the following problems: inability to detect all memory errors, changing the memory allocation mechanism, and excessive performance overhead. To cope with these problems, in this paper we suggest a new and automated tool to detect dynamic memory access errors in C programs.
Keywords
memory access error; memory corruption; memory test; test automation;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Mark Sullivan and Ram Chillarege, 'Software defects and their impact on system availability - a study of field failures in operation systems,' Digest of the 21st International Symposium on Fault Tolerant Computing, pp. 2-9, June 1991
2 W. Xu, D. C. DuVarney, and R.Sekar, 'An efficient and backwards-compatible transformation to ensure memory safety of C programs,' Proc. of the 12th ACM SIGSOFT Symp. on the FSE, Oct. 2004, pp. 117-126
3 D. Dhurjati, V. Adve, 'Backwards-compatible array bounds checking for C with very low overhead,' In Proceeding of the 28th international conference on software engineering(ICSE), Shanhai, China, May 2006
4 Valgrind Online Manual. http://valgrind.org/docs/manual/manual.htm
5 Barton P. Miller, Lars Fredriksen, and Bryan So. 'An empirical study of the reliability of Unix utilities,' Communications of the ACM, 33(12): 32-44, December 1990   DOI
6 T. Jim, G. Morriset, D. Grossman, M. Hicks, J. Cheney, and Y. Wang, 'Cyclone: A safe dialect of C,' In Proceedings of the USENIX Annual Technical Conference, pp. 275-288, June 2002
7 O. Ruwase and M. Lam, 'A practical dynamic buffer overflow detector,' In Proceedings of the Network and Distributed System Security (NDSS) Symposium, pp. 159-169, Feb. 2004
8 D. A. Wheeler. Sloccount http://www.dwheeler.com/sloccount
9 R. Jones and P. Kelly, 'Backwards-compatible bounds checking for arrays and pointers in C programs,' In Proceeding of Third International Workshop On Automatic Debugging, May 1997
10 R. Hastings and B. Joyce, 'Purify: fast detection of memory leaks and access errors,' In Proceedings of the Winter USENIX Conference, pp. 125-136, 1992
11 G. C. Necula, J. Condit, M. Harren, S. McPeak, and W. Weimer, 'CCured: type-safe retrofitting of legacy software,' ACM Trans. Program. Lang. Syst., 27(3):477-526, 2005   DOI   ScienceOn
12 T. Austin, S. Breach, and G. Sohi, 'Efficient detection of all pointer and array access errors,' In Proceedings of the ACM SIGPLAN '94 Conference on Programming Language Design and Implementation, June 1994