Termination and non-termination specification inference
Termination and non-termination specification inference
复制标题
DOI:
10.1145/2737924.2737993
复制
发表时间:
2015-06
期刊:
影响因子:
--
通讯作者:
T. Le;S. Qin;W. Chin
中科院分区:
文献类型:
--
作者:
T. Le;S. Qin;W. Chin
Techniques for proving termination and non-termination of imperative programs are usually considered as orthogonal mechanisms. In this paper, we propose a novel mechanism that analyzes and proves both program termination and non-termination at the same time. We first introduce the concept of second-order termination constraints and accumulate a set of relational assumptions on them via a Hoare-style verification. We then solve these assumptions with case analysis to determine the (conditional) termination and non- termination scenarios expressed in some specification logic form. In contrast to current approaches, our technique can construct a summary of terminating and non-terminating behaviors for each method. This enables modularity and reuse for our termination and non-termination proving processes. We have tested our tool on sample programs from a recent termination competition, and compared favorably against state-of-the-art termination analyzers.