论文主要研究的问题是如何解决地址消毒器(Address Sanitizer,ASan)(翻译比较抽象,不如直接用 ASan 表示)在检测内存错误时所面临的高运行时开销问题。ASan 是一种广泛使用的内存错误检测工具,但因其开销较大,限制了其在更多场景下的应用。
系统性分析:对 ASan 的运行时活动、状态进行了详细的分类和测量,识别出 sanitizer 检查是导致高开销的主要原因。
sanitizer 检查即 ASan 在运行时进行的一系列内存访问检查。
"sanitizer 检查" 通常包括以下步骤:
本文提出了 ASan- 工具:它集成了多种优化措施,旨在减少 sanitizer 检查,从而降低开销。
开发了四种静态优化技术,包括:
将这些优化措施集成到 LLVM 编译器中,使得 ASan- 可以与现有的编译流程无缝集成。
有必要介绍一下上述四种优化技术:
该分析借助了部分 AI 。