An automated memory error detection technique using source code analysis in C programs


KIPS Transactions on Software and Data Engineering, Vol. 14, No. 6, pp. 675-688, Jun. 2007
10.3745/KIPSTD.2007.14.6.675, Full Text:

Abstract

Memory access errors are frequently occurred in C programs. A number of tools and research works have been trying to detect the errors automatically. However, they have one or more of the following problems: inability to detect all memory errors, changing the memory allocation mechanism, incompatibility with libraries, and excessive performance overhead. In this paper, we suggest a new method to solve these problems, and then present a result of comparison to the previous research works through the experiments. Our approach consists of two phases. First is to transform source code at compile-time through inserting instrumentation into the source code. And second is to detect memory errors at run-time with a bitmap that maintains information about memory allocation. Our approach has improved the error detection abilities against the binary code analysis based ones by using the source code analysis technique, and enhanced performance in terms of both space and time, too. In addition, our approach has no problem with respect to compatibility with shared libraries as well as does not need to modify memory allocation mechanism.


Statistics
Show / Hide Statistics

Statistics (Cumulative Counts from September 1st, 2017)
Multiple requests among the same browser session are counted as one view.
If you mouse over a chart, the values of data points will be shown.


Cite this article
[IEEE Style]
D. W. Cho, S. U. Oh and H. S. Kim, "An automated memory error detection technique using source code analysis in C programs," KIPS Journal D (2001 ~ 2012) , vol. 14, no. 6, pp. 675-688, 2007. DOI: 10.3745/KIPSTD.2007.14.6.675.

[ACM Style]
Dae Wan Cho, Seung Uk Oh, and Hyeon Soo Kim. 2007. An automated memory error detection technique using source code analysis in C programs. KIPS Journal D (2001 ~ 2012) , 14, 6, (2007), 675-688. DOI: 10.3745/KIPSTD.2007.14.6.675.