Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation 2015
DOI: 10.1145/2737924.2737993
|View full text |Cite
|
Sign up to set email alerts
|

Termination and non-termination specification inference

Abstract: 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 … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
16
0

Year Published

2015
2015
2024
2024

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 30 publications
(16 citation statements)
references
References 44 publications
0
16
0
Order By: Relevance
“…. We search for q 1 , q 2 , q 3 ∈ PE[w] that are equivalent to p 1 , p 2 , p 3 , i.e., q 1 + q 2 + q 3 is equivalent to (12). We only show how to compute q 2 .…”
Section: Computing Closed Formsmentioning
confidence: 99%
“…. We search for q 1 , q 2 , q 3 ∈ PE[w] that are equivalent to p 1 , p 2 , p 3 , i.e., q 1 + q 2 + q 3 is equivalent to (12). We only show how to compute q 2 .…”
Section: Computing Closed Formsmentioning
confidence: 99%
“…Many of these are, like our system, built on top of Hoare-style program logics. Closest to our work in this respect is HIPTNT+ [23] which extends a Hoare-style separation logic system with temporal operators expressing termination and both possible and definite non-termination, and is able to infer such temporal predicates for procedural programs. Also like our work, HIPTNT+ requires pre-/postcondition annotations for heap-manipulating procedures, and requires arithmetic parameters to be incorporated into inductive predicates (reflecting e.g.…”
Section: Related Workmentioning
confidence: 99%
“…We evaluate our implementation on a number of examples taken from the Termination Problems Database [33], demonstrating that our implementation is competitive with other termination tools (e.g. AProVE [20] and HIPTNT+ [23]).…”
Section: Introductionmentioning
confidence: 99%
“…In particular, this means that a non-termination proof for the narrowed program is a nontermination proof for the original program, as only terminating computations have been discarded by the transformation. Further, our program transformation does not only add information to the entry transitions (as in [32]) but also to all transitions occurring in the component under analysis. This significantly improves the precision of our otherwise unchanged non-termination analysis (cf.…”
Section: Proving Program Terminationmentioning
confidence: 99%
“…Thus, a termination prover has to segment the program state space according to its termination behavior, ignoring non-terminating but unreachable states. Recent advances in termination proving try to tackle this problem by abducing conditions for non-termination, and focusing the termination proof search on the remaining state space [25,32]. However, these techniques rely on relatively weak non-termination proving techniques.…”
Section: Introductionmentioning
confidence: 99%