paperbot · PL 论文追踪

全部论文 待读 收藏

P2 JaVerT 2.0: compositional symbolic execution for JavaScript

JaVerT 2.0:面向 JavaScript 的组合式符号执行
POPL 3(POPL)2019匹配度 4/10 · 论文属于程序分析与形式化验证,提出组合式符号执行与双向溯因,具备理论形式化和工程实现,但与用户当前核心关注的 LLM/Agent 与静态分析交叉、浮点程序分析、贝叶斯程序分析均无直接关联,缺乏 AI 或 LLM 维度。引用 26 inbox
José Fragoso Santos, Petar Maksimović, Gabriela Sampaio, Philippa Gardner
crossref: 2026-09-10

AI 速览

一句话:提出统一的组合式符号执行方法,构建 JaVerT 2.0,首次为 JavaScript 支持基于双向溯因的自动组合测试。

论文旨在弥合经典符号执行与基于分离逻辑的组合式程序推理之间的鸿沟。作者提出一种开发组合式符号执行工具的统一方法,并据此构建 JaVerT 2.0:一个不简化 JavaScript 语义的符号分析工具,支持全程序符号测试、验证,以及首次实现的基于双向溯因的自动组合测试。其元理论采用模块化方式构建,简化证明并指导实现;对符号执行错误的显式处理可为开发者提供反馈,并引导双向溯因执行中的资源推断。作者在多个 JavaScript 数据结构库上评估性能,展示了全程序符号测试的可扩展性、相对现有 JavaScript 验证的改进,以及 JavaScript 自动组合测试的可行性。

问题
经典符号执行与基于分离逻辑的组合式程序推理之间存在鸿沟;JavaScript 缺少不简化语言语义且支持组合推理的符号分析工具。
方法
提出统一的组合式符号执行开发方法,模块化构建元理论,显式处理符号执行错误,并在 JaVerT 2.0 中结合全程序符号执行、验证与基于双向溯因的组合测试。
评估
在多个 JavaScript 数据结构库上评估 JaVerT 2.0,验证全程序符号测试的可扩展性、验证效果优于已有工作,以及自动组合测试的可行性。
原文摘要(Abstract)

We propose a novel, unified approach to the development of compositional symbolic execution tools, bridging the gap between classical symbolic execution and compositional program reasoning based on separation logic. Using this approach, we build JaVerT 2.0, a symbolic analysis tool for JavaScript that follows the language semantics without simplifications. JaVerT 2.0 supports whole-program symbolic testing, verification, and, for the first time, automatic compositional testing based on bi-abduction. The meta-theory underpinning JaVerT 2.0 is developed modularly, streamlining the proofs and informing the implementation. Our explicit treatment of symbolic execution errors allows us to give meaningful feedback to the developer during whole-program symbolic testing and guides the inference of resource of the bi-abductive execution. We evaluate the performance of JaVerT 2.0 on a number of JavaScript data-structure libraries, demonstrating: the scalability of our whole-program symbolic testing; an improvement over the state-of-the-art in JavaScript verification; and the feasibility of automatic compositional testing for JavaScript.

链接与引用

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

BibTeX
@article{paperbot657,
  title = {JaVerT 2.0: compositional symbolic execution for JavaScript},
  author = {José Fragoso Santos and Petar Maksimović and Gabriela Sampaio and Philippa Gardner},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {3},
  number = {POPL},
  year = {2019},
  doi = {10.1145/3290379}
}