首页> 外文期刊>ACM Transactions on Programming Languages and Systems >Size-Change Termination with Difference Constraints
【24h】

Size-Change Termination with Difference Constraints

机译:具有差异约束的尺寸更改终端

获取原文
获取原文并翻译 | 示例

摘要

This article considers an algorithmic problem related to the termination analysis of programs. More specifically, we are given bounds on differences in sizes of data values before and after every transition in the program's control-flow graph. Our goal is to infer program termination via the following reasoning ("the size-change principle"): if in any infinite (hypothetic) execution of the program, some size must descend unboundedly, the program must always terminate, since infinite descent of a natural number is impossible. The problem of inferring termination from such abstract information is not the halting problem for programs and may well be decidable. If this is the case, the decision algorithm forms a "back end" of a termination verifier, and it is interesting to find out the computational complexity of the problem. A restriction of the problem described above, which only uses monotonicity information (but not difference bounds), is already known to be decidable. We prove that the unrestricted problem is undecidable, which gives a theoretical argument for studying restricted cases. We consider a case where the termination proof is allowed to make use of at most one bound per target variable in each transition. For this special case, which we claim is practically significant, we give (for the first time) an algorithm and show that the problem is in PSPACE, in fact that it is PSPACE-complete. The algorithm is based on combinatorial arguments and results from the theory of integer programming not previously used for similar problems. The algorithm has interesting connections to other work in termination, in particular to methods for generating linear ranking functions or invariants.
机译:本文考虑了与程序终止分析有关的算法问题。更具体地说,在程序的控制流图中,在每次转换之前和之后,我们将获得数据值大小差异的界限。我们的目标是通过以下推理(“大小更改原则”)来推断程序终止:如果在程序的任何无限(假设)执行中,一定大小必须无限减小,则由于a的无限下降,程序必须始终终止自然数是不可能的。从此类抽象信息推断终止的问题不是程序的停顿问题,并且可能是可以确定的。如果是这种情况,则决策算法将构成终止验证程序的“后端”,并且发现问题的计算复杂度很有趣。仅使用单调性信息(但不使用差异边界)的上述问题的限制是可以确定的。我们证明了无限制问题是不确定的,这为研究限制案件提供了理论依据。我们考虑一种情况,在这种情况下,终止证明被允许在每个过渡中每个目标变量最多使用一个界限。对于我们认为实际上很重要的这种特殊情况,我们(首次)给出了一种算法,并表明问题出在PSPACE中,实际上它是PSPACE完全的。该算法基于组合参数,并且是先前从未用于类似问题的整数编程理论的结果。该算法与终止中的其他工作,特别是与生成线性排名函数或不变式的方法具有有趣的联系。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号