paperbot · PL 论文追踪

全部论文 待读 收藏

P2 KDAlloc: The KLEE Deterministic Allocator: Deterministic Memory Allocation during Symbolic Execution and Test Case Replay

KDAlloc:KLEE 确定性分配器:符号执行与测试用例重放中的确定性内存分配
ISSTA Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis2023匹配度 3/10 · 论文属于符号执行与程序分析工具,但未涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,与研究画像的核心交叉方向(PL 与 AI 结合)关联较弱。引用 4 inbox
Daniel Schemmel, Julian Büning, Frank Busse, Martin Nowack, Cristian Cadar
crossref: 2026-09-12

AI 速览

一句话:介绍 KLEE 的新内存分配器 KDAlloc 及其重放工具,通过确定性内存分配提升符号执行的确定性与缺陷发现能力。

内存分配器对符号执行具有重要影响:非确定性的堆分配会破坏执行的可复现性,并妨碍缺陷的发现与重放。本文以工具演示的形式介绍 KLEE 的新分配器 KDAlloc,从用户视角讨论其在改进确定性执行和缺陷发现能力方面的主要收益。KDAlloc 为符号执行提供确定性的内存分配,使得相同输入下堆地址保持一致。作者还提出一个面向 KLEE 的新重放工具,使原生执行也能集成 KDAlloc,从而获得与符号执行期间相同的堆地址。该重放工具帮助开发者在原生环境中重放和分析由符号执行发现的缺陷,提升符号执行结果的可复现性与实用性。

问题
符号执行中内存分配器的非确定性会导致堆地址在不同运行间变化,从而影响执行的可复现性和缺陷发现。
方法
提出 KLEE 的确定性分配器 KDAlloc,并设计一个重放工具,使原生执行集成 KDAlloc 后能获得与符号执行相同的堆地址。
评估
以工具演示形式,从用户视角展示 KDAlloc 在确定性执行和缺陷发现方面的收益,并通过新的重放工具验证原生执行可获得与符号执行相同的堆地址。
原文摘要(Abstract)

The memory allocator can have an important impact in symbolic execution. Taking a user-centric view, this tool demonstration paper discusses some of the main benefits provided by KLEE's new allocator KDAlloc in terms of improved deterministic execution and bug-finding capabilities. We then introduce a new replay tool for KLEE which enables the native execution to integrate KDAlloc and receive the same heap addresses as during symbolic execution.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot8067,
  title = {KDAlloc: The KLEE Deterministic Allocator: Deterministic Memory Allocation during Symbolic Execution and Test Case Replay},
  author = {Daniel Schemmel and Julian Büning and Frank Busse and Martin Nowack and Cristian Cadar},
  booktitle = {ISSTA},
  year = {2023},
  doi = {10.1145/3597926.3604921}
}