paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Diagramming Program Values by Spatial Refinement

通过空间细化绘制程序值图
PLDI 10(PLDI)2026匹配度 1/10 · 该论文聚焦于将程序值渲染为二维图的声明式 DSL 与约束求解,属于程序可视化与开发者工具方向,与用户关注的静态分析、LLM/Agent 交叉、浮点程序分析及贝叶斯程序分析等核心问题均无直接关联。引用 0 inbox
Siddhartha Prasad, Michael Tu, Karan Kashyap, Tim Nelson, Shriram Krishnamurthi
crossref: 2026-09-10

AI 速览

一句话:提出声明式 DSL Spytial,以空间语义和约束求解将程序值渲染为可交互二维图,并支持多语言嵌入与反事实调试。

论文解决为编程语言数据构造图示困难的问题。作者提出声明式 DSL Spytial,捕捉数据的关键空间特征,并赋予空间语义,把值映射到二维平面,证明若干关键性质;系统利用约束求解生成可交互渲染。Spytial 可嵌入 Python、Rust 与 Pyret 三种差异很大的语言。论文还提出一种结合文本与视觉输出的反事实调试辅助,用于图示错误。评估从表达力、性能和诊断质量三方面展开,并展示如何在保持空间约束的同时交互式、可视化地构造值。

问题
为编程语言数据构建图示并支持推理、调试和交流十分困难;现有方式缺乏对数据空间特征与布局约束的声明式抽象。
方法
提出声明式 DSL Spytial,定义空间语义将程序值映射到二维平面,并用约束求解生成交互式渲染;支持嵌入 Python、Rust 和 Pyret,且提供文本与视觉结合的反事实调试辅助。
评估
从表达力、性能和诊断质量对语言与系统进行评估。
原文摘要(Abstract)

Diagrams enable programmers to reason, debug, and communicate. However, constructing diagrams for programming language data is unnecessarily hard. We present a declarative DSL, Spytial, that captures the essential spatial features of data. We endow Spytial with a spatial semantics, mapping values to the 2D plane, and prove key properties. Spytial uses constraint-solving to make interactive renderings. We show how Spytial can be embedded in three very different languages: Python, Rust, and Pyret. We present a novel counterfactual debugging aid for diagramming errors, combining textual and visual output. We evaluate the language and system for expressiveness, performance, and diagnostic quality. Finally, we also show how Spytial can be used to construct values interactively and visually while preserving spatial constraints.

链接与引用

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

BibTeX
@article{PrasadTKNK26,
  title = {Diagramming Program Values by Spatial Refinement},
  author = {Siddhartha Prasad and Michael Tu and Karan Kashyap and Tim Nelson and Shriram Krishnamurthi},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {PLDI},
  year = {2026},
  doi = {10.1145/3808275}
}