paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Detecting memory errors at runtime with source-level instrumentation

基于源级插桩的运行时内存错误检测
ISSTA Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis2019匹配度 1/10 · 该论文研究 C 程序运行时内存错误的源级插桩检测,属于动态分析/测试调试方向;与用户核心关注的静态分析、LLM/Agent 交叉、浮点程序分析及贝叶斯程序分析均无直接关系。引用 18 inbox
Zhe Chen, Junqi Yan, Shuanglong Kan, Ju Qian, Jingling Xue
crossref: 2026-09-12

AI 速览

一句话:提出源级插桩方法,在运行时检测 C 程序内存错误,规避 IR/二进制插桩的优化敏感、平台依赖与 DO-178C 合规问题。

C 语言中不安全的内存操作常导致内存错误,进而造成静默数据损坏、安全漏洞和程序崩溃。现有运行时内存错误检测工具多采用 IR 级或二进制级插桩,但这类非源级插桩存在三个固有限制:优化敏感性、平台依赖性以及不符合 DO-178C 标准。优化敏感性使工具不得不在性能与有效性之间权衡,例如以 -O0 编译牺牲性能换取有效性,或以 -O3 编译牺牲有效性换取性能。本文提出源级插桩的运行时内存错误检测方法,旨在从源头避免上述限制。摘要未给出具体实现细节与实验评估结果。

问题
现有基于 IR/二进制插桩的运行时内存错误检测工具具有优化敏感性、平台依赖性和 DO-178C 不合规性,导致性能与有效性难以兼顾。
方法
论文提出在源代码层面进行插桩,用于在运行时检测 C 程序中的内存错误,以避免非源级插桩的固有限制。
评估
摘要未提供具体评估方式与实验结果,仅提及现有工具在 -O0 与 -O3 下存在性能/有效性权衡。
原文摘要(Abstract)

The unsafe language features of C, such as low-level control of memory, often lead to memory errors, which can result in silent data corruption, security vulnerabilities, and program crashes. Dynamic analysis tools, which have been widely used for detecting memory errors at runtime, usually perform instrumentation at the IR-level or binary-level. However, their underlying non-source-level instrumentation techniques have three inherent limitations: optimization sensitivity, platform dependence and DO-178C non-compliance. Due to optimization sensitivity, these tools are used to trade either performance for effectiveness by compiling the program at -O0 or effectiveness for performance by compiling the program at a higher optimization level, say, -O3.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5349,
  title = {Detecting memory errors at runtime with source-level instrumentation},
  author = {Zhe Chen and Junqi Yan and Shuanglong Kan and Ju Qian and Jingling Xue},
  booktitle = {ISSTA},
  year = {2019},
  doi = {10.1145/3293882.3330581}
}