C语言广泛应用于嵌入式软件和系统软件的开发,它提供了更直接的底层内存控制,但却缺少对内存访问安全性的检测,导致C程序运行时可能产生内存安全性错误。当前,开发人员力求通过多种验证技术解决内存安全性错误,最常用的是运行时验证技术。文章首先对C程序常见的内存安全性错误进行分析,然后介绍几种相关的内存分析技术,最后分别对几种常用的C程序内存安全性检测工具进行介绍和比较,为接下来的研究工作提供了方向性参考。