中文

为何无法良性运行?带约束的直接递归规则的非终止分析

编程语言 2017-01-11 v1 计算机科学中的逻辑 软件工程

摘要

本文关注出错的基于规则的程序。规则应用的不期望行为是计算的非终止或失败。我们提出针对约束处理规则(CHR)语言中递归的非终止问题的静态程序分析。CHR是一种涉及约束推理的高级并发声明式语言。它与许多其他基于规则的方法密切相关,因此结果具有更广泛意义。在此类语言中,非终止源于递归规则的无限应用。失败源于计算期间矛盾约束的累积。我们给出带有所谓误行为条件的定理,用于线性直接递归简化规则的潜在非终止与失败(以及确定终止)。递归规则中约束间的逻辑关系在此类程序分析中起关键作用。我们认为该方法可扩展到其他类型递归和更一般规则类。因此本文可作为基础参考和进一步研究的起点。

关键词

引用

@article{arxiv.1701.02648,
  title  = {Why Can't You Behave? Non-termination Analysis of Direct Recursive Rules with Constraints},
  author = {Thom Fruehwirth},
  journal= {arXiv preprint arXiv:1701.02648},
  year   = {2017}
}