paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Semantic-Type-Guided Bug Finding

语义类型引导的缺陷发现
OOPSLA 8(OOPSLA2)2024匹配度 3/10 · 该论文属于程序语言与形式验证中的语义类型反驳/错误发现,使用符号求值,与静态分析和程序验证有一定关联;但未涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,与用户画像的核心交叉方向匹配度低。引用 2 inbox
Kelvin Qian, Scott Smith, Brandon Stride, Shiwei Weng, Ke Wu
dblp: 2026-09-10crossref: 2026-09-10arxiv: 2026-09-10

AI 速览

一句话:提出语义类型反驳器,借助符号求值证明函数式程序的语义类型性质不成立,从而发现类型错误。

近年来,旨在证明程序性质不成立(incorrectness)而非成立的工具受到越来越多关注。本文延续这一思路,将其推广到函数式程序类型系统的模型论:作者为一个简单的函数式语言定义了「语义类型反驳器」(semantic type refuter),用于反驳语义类型断言。论文证明了该反驳器是余递归可枚举的(co-recursively enumerable),并相对于某一语义类型概念既是可靠的又是完备的。作者还给出了一个初步实现,该实现通过符号求值在具有丰富类型系统的函数式语言中高效地搜索类型错误。

问题
如何形式化地证明函数式程序不满足语义类型性质,即把 incorrectness 方法从程序性质推广到类型系统的模型论层面以发现类型错误。
方法
定义语义类型反驳器,基于语义类型概念的模型论刻画类型错误,并利用符号求值搜索反例、反驳语义类型断言。
评估
理论上证明该反驳器是余递归可枚举的,并相对于语义类型概念具有可靠性与完备性;同时描述了一个面向丰富类型系统函数式语言的初步实现。
原文摘要(Abstract)

In recent years, there has been an increased interest in tools that establish incorrectness rather than correctness of program properties. In this work we build on this approach by developing a novel methodology to prove incorrectness of semantic typing properties of functional programs, extending the incorrectness approach to the model theory of functional program typing. We define a semantic type refuter which refutes semantic typings for a simple functional language. We prove our refuter is co-recursively enumerable, and that it is sound and complete with respect to a semantic typing notion. An initial implementation is described which uses symbolic evaluation to efficiently find type errors over a functional language with a rich type system.

链接与引用

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

BibTeX
@article{abs-2409-13896,
  title = {Semantic-Type-Guided Bug Finding},
  author = {Kelvin Qian and Scott Smith and Brandon Stride and Shiwei Weng and Ke Wu},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {OOPSLA2},
  year = {2024},
  doi = {10.1145/3689788}
}