中文

Prolog 的序列化抽象解释

计算机科学中的逻辑 2025-06-18 v1 编程语言

摘要

虽然已提出许多针对 Prolog 的抽象解释框架和分析方法,旨在提取有助于程序优化的信息,但这些方法都未能捕捉现有实现语言中的某些控制结构。在本文中,我们提出了一种新的抽象解释框架,用于处理深度优先搜索规则和 cut 运算符。该框架依赖于替换序列(substitution sequence)来建模目标执行的结果。该框架包括(i)一种具体语义的函数定义,(ii)以后置固定点类(post-fixpoints)形式定义的具体语义的安全抽象,以及(iii)一种通用的抽象解释算法。我们展示了传统的替换抽象域可轻松适应新的框架,并提供了实证,说明该方法有效。我们还展示了以前的确定性分析工作(该工作在现有抽象解释框架中无法表达)可视为该框架的一个实例。

关键词

引用

@article{arxiv.cs/0010028,
  title  = {Sequence-Based Abstract Interpretation of Prolog},
  author = {Baudouin Le Charlier and Sabina Rossi and Pascal Van Hentenryck},
  journal= {arXiv preprint arXiv:cs/0010028},
  year   = {2025}
}

备注

62 pages. To appear in the journal "Theory and Practice of Logic Programming"