Termination Analysis Without the Tears

01/24/2021
by   Shaowei Zhu, et al.
0

Determining whether a given program terminates is the quintessential undecidable problem. Algorithms for termination analysis are divided into two groups: (1) algorithms with strong behavioral guarantees that work in limited circumstances (e.g., complete synthesis of linear ranking functions for polyhedral loops [Podelski and Rybalchenko, 2004]), and (2) algorithms that are widely applicable, but have weak behavioral guarantees (e.g., Terminator [Cook et al., 2006]). This paper investigates the space in between: how can we design practical termination analyzers with useful behavioral guarantees? This paper presents a termination analysis that is both compositional (the result of analyzing a composite program is a function of the analysis results of its components) and monotone ("more information into the analysis yields more information out"). The paper has two key contributions. The first is an extension of Tarjan's method for solving path problems in graphs to solve infinite path problems. This provides a foundation upon which to build compositional termination analyses. The second is a collection of monotone conditional termination analyses based on this framework. We demonstrate that our tool ComPACT (Compositional and Predictable Analysis for Conditional Termination) is competitive with state-of-the-art termination tools while providing stronger behavioral guarantees.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/18/2019

Compositional Analysis for Almost-Sure Termination of Probabilistic Programs

In this work, we consider the almost-sure termination problem for probab...
research
09/01/2021

Termination Analysis for the π-Calculus by Reduction to Sequential Program Termination

We propose an automated method for proving termination of π-calculus pro...
research
07/23/2019

Resource Analysis driven by (Conditional) Termination Proofs

When programs feature a complex control flow, existing techniques for re...
research
08/04/2021

On Lexicographic Proof Rules for Probabilistic Termination

We consider the almost-sure (a.s.) termination problem for probabilistic...
research
08/07/2020

Distilling Programs to Prove Termination

The problem of determining whether or not any program terminates was sho...
research
12/01/2020

Combining nondeterminism, probability, and termination: equational and metric reasoning

We study monads resulting from the combination of nondeterministic and p...
research
12/06/2022

Hierarchical Termination Analysis for Generalized Planning

This paper presents a new approach for analyzing and identifying potenti...

Please sign up or login with your details

Forgot password? Click here to reset