paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Concrete Constraint Guided Symbolic Execution

具体约束引导的符号执行
ICSE Proceedings of the IEEE/ACM 46th International Conference on Software Engineering2024匹配度 3/10 · 论文属于程序分析与符号执行,和静态分析大体相关,但未涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户当前核心交叉方向不匹配。引用 3 inbox
Yue Sun, Guowei Yang, Shichao Lv, Zhi Li, Limin Sun
crossref: 2026-09-12

AI 速览

一句话:提出具体约束引导的符号执行,通过引导路径探索覆盖未覆盖的具体分支,缓解路径爆炸并提升代码覆盖率。

符号执行能系统探索程序可行路径,但路径爆炸严重限制其可扩展性。现有缓解方法主要依据程序状态特征选择待探索状态。本文提出具体约束引导的符号执行,其核心观察是:符号执行通常致力于覆盖所有符号分支,却忽视具体分支;将探索导向未覆盖的具体分支有望提升整体代码覆盖率。作者将该方法用于增强 KLEE,并在 10 个开源 C 程序上评估。实验表明,该方法能提高 KLEE 的代码覆盖能力,并发现更多安全违规。

问题
符号执行的可扩展性受路径爆炸制约;如何选择路径探索状态以提升整体代码覆盖率是关键问题。
方法
提出具体约束引导的符号执行,利用未覆盖的具体分支信息引导符号执行路径选择,并集成到 KLEE 中。
评估
在 10 个开源 C 程序上对比 KLEE,评估代码覆盖率提升与安全违规发现能力。
原文摘要(Abstract)

Symbolic execution is a popular program analysis technique. It systematically explores all feasible paths of a program but its scalability is largely limited by the path explosion problem, which causes the number of paths proliferates at runtime. A key idea in existing methods to mitigate this problem is to guide the selection of states for path exploration, which primarily relies on the features to represent program states. In this paper, we propose concrete constraint guided symbolic execution, which aims to cover more concrete branches and ultimately improve the overall code coverage during symbolic execution. Our key insight is based on the fact that symbolic execution strives to cover all symbolic branches while concrete branches are neglected, and directing symbolic execution toward uncovered concrete branches has a great potential to improve the overall code coverage. The experimental results demonstrate that our approach can improve the ability of KLEE to both increase code coverage and find more security violations on 10 open-source C programs.

链接与引用

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

BibTeX
@inproceedings{paperbot11456,
  title = {Concrete Constraint Guided Symbolic Execution},
  author = {Yue Sun and Guowei Yang and Shichao Lv and Zhi Li and Limin Sun},
  booktitle = {ICSE},
  year = {2024},
  doi = {10.1145/3597503.3639078}
}