paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Derivative-Guided Symbolic Execution

导数引导的符号执行
POPL 9(POPL)2025匹配度 3/10 · 论文属于形式化验证中的符号执行与自动机方法,与用户核心关注的LLM/Agent与静态分析交叉、浮点程序分析、贝叶斯程序分析均无直接关联;仅作为程序分析技术有间接参考价值。引用 2 inbox
Yongwei Yuan, Zhe Zhou, Julia Belyakova, Suresh Jagannathan
crossref: 2026-09-10

AI 速览

一句话:提出符号导数引导的符号执行,借助 LTLf 规约与符号自动机剪枝,高效证伪带不透明库的程序中数据结构安全性质。

论文研究面向与有副作用、不透明库交互的函数式程序的符号执行(SE)过程。方法上,允许用有限迹线性时序逻辑(LTLf)书写库与抽象数据类型(ADT)方法的规约,并将其解释为符号有限自动机(SFA),从而实现规约引导的智能路径探索:规约刻画 ADT 方法及其所依赖库方法允许执行的、按时间排序的事件可行迹,作者据此构造相应方法的可行符号输入状态,并将安全性质编码到同一形式化框架中。更重要的是,论文引入符号导数(symbolic derivatives)机制,使 SE 过程能够依据规约中潜藏的自动机结构与待证伪的安全性质,对需要探索的前置状态集合做智能欠近似。直观上,导数让符号执行利用基于迹的规约所定义的时间约束,快速剪除无产出路径并发现可行的错误状态。实验在一系列具有挑战性的 ADT 实现上验证了该方法的有效性。

问题
如何为与有副作用、不透明库交互的函数式程序设计符号执行,使其能利用时序规约引导路径探索,高效证伪数据结构的安全性质。
方法
将库与 ADT 方法的 LTLf 规约解释为符号有限自动机,并引入符号导数机制,依据规约与待证伪性质中的自动机结构对前置状态集合做欠近似,从而剪除无产出路径。
评估
在多种具有挑战性的抽象数据类型实现上进行实验,表明该方法能够有效发现可行错误状态、证伪安全性质。
原文摘要(Abstract)

We consider the formulation of a symbolic execution (SE) procedure for functional programs that interact with effectful, opaque libraries. Our procedure allows specifications of libraries and abstract data type (ADT) methods that are expressed in Linear Temporal Logic over Finite Traces (LTL f ), interpreting them as symbolic finite automata (SFAs) to enable intelligent specification-guided path exploration in this setting. We apply our technique to facilitate the falsification of complex data structure safety properties in terms of effectful operations made by ADT methods on underlying opaque representation type(s). Specifications naturally characterize admissible traces of temporally-ordered events that ADT methods (and the library methods they depend upon) are allowed to perform. We show how to use these specifications to construct feasible symbolic input states for the corresponding methods, as well as how to encode safety properties in terms of this formalism. More importantly, we incorporate the notion of symbolic derivatives , a mechanism that allows the SE procedure to intelligently underapproximate the set of precondition states it needs to explore, based on the automata structures latent in the provided specifications and the safety property that is to be falsified. Intuitively, derivatives enable symbolic execution to exploit temporal constraints defined by trace-based specifications to quickly prune unproductive paths and discover feasible error states. Experimental results on a wide-range of challenging ADT implementations demonstrate the effectiveness of our approach.

链接与引用

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

BibTeX
@article{abs-2411-02716,
  title = {Derivative-Guided Symbolic Execution},
  author = {Yongwei Yuan and Zhe Zhou and Julia Belyakova and Suresh Jagannathan},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {POPL},
  year = {2025},
  doi = {10.1145/3704886}
}