paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A bounded symbolic-size model for symbolic execution

一种用于符号执行的有界符号大小模型
FSE Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2021匹配度 4/10 · 论文属于程序分析与符号执行方向,提出有界符号大小模型和状态合并来缓解路径爆炸,与用户关注的静态分析有基础关联;但它不涉及 LLM/Agentic 程序分析、LLM 改进静态分析、浮点程序分析或贝叶斯程序分析等核心交叉方向,因此匹配度有限。引用 10 inbox
David Trabish, Shachar Itzhaky, Noam Rinetzky
crossref: 2026-09-12

AI 速览

一句话:提出有界符号大小模型与状态合并,缓解符号执行中具体大小导致的覆盖损失和路径爆炸。

现代符号执行工具通常对对象大小进行具体化建模,无法处理符号大小分配,迫使用户预先设定输入大小,容易导致具体化和覆盖率损失。本文提出有界符号大小模型:对象大小可取用户指定边界内的多个值。由于大小符号表达式增加,路径爆炸问题被放大;为此,作者提出基于状态合并的方法,通过特殊处理依赖符号大小的循环来减少分支。在真实世界基准测试中,该方法在性能与覆盖率上常取得显著提升,并发现此前未知的缺陷。

问题
现有符号执行对对象大小采用具体化建模,不支持符号大小分配,需用户预先指定输入大小,导致分析中发生具体化并可能损失覆盖率。
方法
提出有界符号大小模型,允许对象大小在用户给定范围内变化;并针对由此加剧的路径爆炸,采用状态合并并对符号大小相关循环进行特殊处理以减少分支。
评估
在真实世界基准上评估,显示在多数情况下性能与覆盖率显著提升,并发现此前未知的 bug。
原文摘要(Abstract)

Symbolic execution is a powerful program analysis technique which allows executing programs with symbolic inputs. Modern symbolic execution tools use a concrete modeling of object sizes, that does not allow symbolic-size allocations. This leads to concretizations and enforces the user to set the size of the input ahead of time, thus potentially leading to loss of coverage during the analysis. We present a bounded symbolic-size model in which the size of an object can have a range of values limited by a user-specified bound. Unfortunately, this model amplifies the problem of path explosion, due to additional symbolic expressions representing sizes. To cope with this problem, we propose an approach based on state merging that reduces the forking by applying special treatment to symbolic-size dependent loops. In our evaluation on real-world benchmarks, we show that our approach can lead in many cases to substantial gains in terms of performance and coverage, and find previously unknown bugs.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot6363,
  title = {A bounded symbolic-size model for symbolic execution},
  author = {David Trabish and Shachar Itzhaky and Noam Rinetzky},
  booktitle = {FSE},
  year = {2021},
  doi = {10.1145/3468264.3468596}
}