paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Proof-directed program transformation: A functional account of efficient regular expression matching

证明导向的程序变换:高效正则表达式匹配的函数式阐释
JFP vol.312021匹配度 2/10 · 该论文属于程序变换与机器验证的形式化方法,虽涉及定理证明和编译,但未涉及静态分析、LLM/Agent、浮点或贝叶斯程序分析等用户核心方向,与AI和PL的交叉点无直接关联。引用 0 inbox
ANDRZEJ FILINSKI
crossref: 2026-09-10

AI 速览

一句话:通过证明导向的程序变换,从正则表达式集合语义系统推导出高效的表驱动匹配器,并机器验证每一步等式正确性。

论文针对正则表达式匹配器的高效实现通常依赖专门形式语言与自动机理论的问题,提出一种证明导向的推导方法。作者从正则表达式标准的集合论语义出发,先构造基于续延的回溯匹配器,再经由一系列函数式程序变换得到经典的表驱动状态机。全部推导步骤都配有自包含且机器验证的等式正确性证明,从而在很少使用专门自动机理论的情况下,系统性地获得高效匹配器。该方法展示了程序变换与函数式编程在语言工具实现和正确性保证中的价值。

问题
如何在不依赖大量专门形式语言与自动机理论的前提下,系统且可证明地推导出高效的正则表达式匹配器。
方法
从正则表达式的集合论语义规范出发,先构造基于续延的回溯匹配器,再通过一系列函数式程序变换逐步得到表驱动状态机,并为每步提供机器验证的等式正确性证明。
评估
评估方式是自包含且机器验证的等式正确性证明,覆盖从集合语义到表驱动状态机的每一步推导。
原文摘要(Abstract)

Abstract We show how to systematically derive an efficient regular expression (regex) matcher using a variety of program transformation techniques, but very little specialized formal language and automata theory. Starting from the standard specification of the set-theoretic semantics of regular expressions, we proceed via a continuation-based backtracking matcher, to a classical, table-driven state machine. All steps of the development are supported by self-contained (and machine-verified) equational correctness proofs.

链接与引用

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

BibTeX
@article{paperbot1231,
  title = {Proof-directed program transformation: A functional account of efficient regular expression matching},
  author = {ANDRZEJ FILINSKI},
  journal = {Journal of Functional Programming},
  volume = {31},
  year = {2021},
  doi = {10.1017/s0956796820000295}
}