arXivDaily arXiv每日学术速递 周一至周五更新
arXiv cs/0010028cs.LOcs.PL
收藏

基于序列的Prolog抽象解释

Sequence-Based Abstract Interpretation of Prolog

Baudouin Le Charlier, Sabina Rossi, Pascal Van Hentenryck

AI总结:

针对现有Prolog抽象解释框架无法覆盖部分控制结构的问题,提出基于替换序列、可处理深度优先搜索与cut操作符的新框架,证明其适配传统抽象域且可涵盖此前的确定性分析工作,实验验证了有效性。

摘要:

目前已有多种针对Prolog的抽象解释框架与分析方法被提出,旨在提取可用于程序优化的信息。尽管这些框架受实际需求驱动,尤其是为了让Prolog能与命令式语言相抗衡,但它们无法覆盖现有Prolog语言实现中的部分控制结构。\n本文提出了一种新颖的Prolog抽象解释框架,可处理深度优先搜索规则与cut操作符。该框架以替换序列的概念来建模目标执行的结果,由三部分组成:(i)一种指称式具体语义,(ii)基于一类后不动点定义的具体语义的安全抽象,以及(iii)一种通用的抽象解释算法。我们证明了传统的替换抽象域可轻松适配这一新框架,并提供实验证据表明该方法的有效性。我们还证明,此前无法用现有抽象解释框架表达的确定性分析相关工作,可被视为本框架的一个实例。

英文摘要:

Many abstract interpretation frameworks and analyses for Prolog have been proposed, which seek to extract information useful for program optimization. Although motivated by practical considerations, notably making Prolog competitive with imperative languages, such frameworks fail to capture some of the control structures of existing implementations of the language. In this paper we propose a novel framework for the abstract interpretation of Prolog which handles the depth-first search rule and the cut operator. It relies on the notion of substitution sequence to model the result of the execution of a goal. The framework consists of (i) a denotational concrete semantics, (ii) a safe abstraction of the concrete semantics defined in terms of a class of post-fixpoints, and (iii) a generic abstract interpretation algorithm. We show that traditional abstract domains of substitutions may easily be adapted to the new framework, and provide experimental evidence of the effectiveness of our approach. We also show that previous work on determinacy analysis, that was not expressible by existing abstract interpretation frameworks, can be seen as an instance of our framework.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑