| | |
Summary: Termination Analysis by Inductive Evaluation ?
J¨urgen Brauburger and J¨urgen Giesl
FB Informatik, TU Darmstadt, Alexanderstraße 10, 64283 Darmstadt, Germany
Email: fbrauburger, gieslg@informatik.tudarmstadt.de
Abstract. We present a new approach for automatic termination anal
ysis of functional programs. Several methods have been presented which
try to find a wellfounded ordering such that the arguments in the recur
sive calls are smaller than the corresponding inputs. However, previously
developed approaches for automated termination analysis often disregard
the conditions under which the recursive calls are evaluated. Hence, the
existing methods fail for an important class of algorithms where the nec
essary information for proving termination is `hidden' in the conditions.
In this paper we develop the inductive evaluation method which ana
lyzes the auxiliary functions occurring in the conditions of the recursive
calls. We also discuss an extension of our method to partial functions
in order to determine their domains automatically. The proposed tech
nique proved successful for termination analysis of numerous algorithms
in functional as well as imperative programming languages.
1 Introduction
Proving termination is a central problem in the development of correct software.
|