Full-automatic Detection of Memory Safety Violations for C Programs

YANG Yang,ZHANG Huan-guo,WANG Hou-zhen
DOI: https://doi.org/10.3969/j.issn.1002-137X.2010.06.036
2010-01-01
Computer Science
Abstract:Symbolic execution is an effective and automatic bug-finding method.But symbolic execution is limited in practice by the computation cost and path explosion.We presented a tool for full-automatic detection and generating inputs that lead to memory safety violations in C programs,including buffer overflow,buffer overrun and pointer derefe-rence error.In order to reduce the amount of symbol variable,we used the symbol variable to track the length of buf-fer and C string.The use of symbolic buffer length makes it possible to compactly summarize the behavior of standard buffer manipulation functions.While resolving the problem of path explosion,we introduced the dynamic slicing metho-ds to prune the redundant paths.It’s shown by the experiments that our method presented in this paper not only is feasible but also has little cost.
What problem does this paper attempt to address?