paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Higher-order demand-driven symbolic evaluation

高阶需求驱动符号求值
ICFP 4(ICFP)2020匹配度 3/10 · 论文属于形式语义与符号执行/测试生成方向,兼具理论证明与原型实现,但与用户核心关注的 PL×AI(尤其是 LLM/Agent 驱动的静态分析、形式化验证)没有直接交集,也不涉及浮点程序分析或贝叶斯程序分析。引用 5 inbox
Zachary Palmer, Theodore Park, Scott Smith, Shiwei Weng
dblp: 2026-09-10crossref: 2026-09-10

AI 速览

一句话:提出 DDSE,一种面向函数式语言的高阶需求驱动符号反向执行,证明其可靠性并用于测试生成。

符号反向执行(SBE)让符号求值可从程序任意位置开始并逆向执行到程序入口,从而支持目标导向推理,已在命令式语言的自动测试生成中展现实用性。本文提出 DDSE,一种面向函数式(而非命令式)语言的新型 SBE。DDSE 被定义为反向执行解释器的自然扩展,支持高阶特性,并采用需求驱动策略。作者形式化定义了 DDSE,建立其可靠性(soundness),并针对该玩具语言给出测试生成算法;还报告了一个初始参考实现,以验证设计原则的正确性。

问题
现有符号反向执行主要面向命令式语言,尚缺乏面向函数式与高阶语言的符号反向执行及其语义基础。
方法
将 DDSE 定义为反向执行解释器的自然扩展,给出形式化定义、可靠性证明以及针对玩具语言的测试生成算法。
评估
通过一个初始参考实现验证 DDSE 设计原则的正确性。
原文摘要(Abstract)

Symbolic backwards execution (SBE) is a useful variation on standard forward symbolic evaluation; it allows a symbolic evaluation to start anywhere in the program and proceed by executing in reverse to the program start. SBE brings goal-directed reasoning to symbolic evaluation and has proven effective in e.g. automated test generation for imperative languages. In this paper we define DDSE, a novel SBE which operates on a functional as opposed to imperative language; furthermore, it is defined as a natural extension of a backwards-executing interpreter. We establish the soundness of DDSE and define a test generation algorithm for this toy language. We report on an initial reference implementation to confirm the correctness of the principles.

链接与引用

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

BibTeX
@article{PalmerPSW20,
  title = {Higher-order demand-driven symbolic evaluation},
  author = {Zachary Palmer and Theodore Park and Scott Smith and Shiwei Weng},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {4},
  number = {ICFP},
  year = {2020},
  doi = {10.1145/3408984}
}