paperbot · PL 论文追踪

全部论文 待读 收藏

P2 ASE: A Value Set Decision Procedure for Symbolic Execution

ASE:一种用于符号执行的值集判定过程
ASE 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)2021匹配度 3/10 · 该论文为符号执行中的值集决策过程改进,属于程序分析与抽象解释的经典方向,但与用户聚焦的 PL 与 LLM/Agent 交叉、浮点程序分析及贝叶斯程序分析等核心问题无直接关联,仅为通用静态分析优化工作。引用 3 inbox
Alireza S. Abyaneh, Christoph M. Kirsch
crossref: 2026-09-12

AI 速览

一句话:提出基于跨步值区间抽象的符号执行引擎,减少 SMT 查询以加速可达性判定。

符号执行引擎在执行中频繁查询 SMT 求解器以判定代码可达性,而 SMT 求解常成为性能瓶颈。本文受抽象解释启发,提出抽象符号执行(ASE)引擎,通过逐级变弱的抽象更快计算可达性,从而减少 SMT 查询。作者设计并实现了基于跨步值区间(SVI)集合的值集判定过程,可精确或欠近似地确定变量值集;ASE 先从 SVI 抽象开始推理,仅在必要时使用 SMT 中的位向量理论,并能检测当前抽象何时不完整以切换到下一抽象。作者为 64 位 RISC-V 子集实现原型。实验表明,该原型通常通过显著减少 SMT 查询来缩短符号执行时间,且抽象失败时的尝试开销仍较低。

问题
符号执行需频繁调用 SMT 求解器判定可达性,SMT 查询常成为瓶颈。
方法
提出抽象符号执行引擎,设计基于跨步值区间集合的值集判定过程,从弱抽象开始逐步回退到 SMT 位向量理论。
评估
在 64 位 RISC-V 子集上实现原型,并通过实验对比符号执行时间与 SMT 查询数量,评估抽象失效时的额外开销。
原文摘要(Abstract)

A symbolic execution engine regularly queries a Satisfiability Modulo Theory (SMT) solver to determine reachability of code during execution. Unfortunately, the SMT solver is often the bottleneck of symbolic execution. Inspired by abstract interpretation, we propose an abstract symbolic execution (ASE) engine which aims at querying the SMT solver less often by trying to compute reachability faster through an increasingly weaker abstraction. For this purpose, we have designed and implemented a value set decision procedure based on strided value interval (SVI) sets for efficiently determining precise, or under-approximating value sets for variables. Our ASE engine begins reasoning with respect to the SVI abstraction, and then only if needed uses the theory of bit-vectors implemented in SMT solvers. Our ASE engine efficiently detects when the former abstraction becomes incomplete to move on and try the next abstraction.We have designed and implemented a prototype of our engine for a subset of 64-bit RISC-V. Our experimental evaluation shows that our prototype often improves symbolic execution time by significantly reducing the number of SMT queries while, whenever the abstraction does not work, the overhead for trying still remains low.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot6574,
  title = {ASE: A Value Set Decision Procedure for Symbolic Execution},
  author = {Alireza S. Abyaneh and Christoph M. Kirsch},
  booktitle = {ASE},
  year = {2021},
  doi = {10.1109/ase51524.2021.9678584}
}